我想设计一种涉及最少网络呼叫的缓存机制。
我是一台远程redis服务器,我的密钥设计如此。
家长:详情
Group1: {
name: XYZ,
phone: 1234,
age: 12
}
儿童:第1组
ABC: Group1
DEF: Group1
因此,提供的输入是儿童,即ABC
,我将返回Group details
。现在,当我查询我的缓存时,首先获取GroupID
给定child
,然后获取group details
。这涉及到远程服务器的2个网络调用。我是否可以将缓存设计更改为仅支持1次网络呼叫,而无需重复数据。
有什么方法可以将child
设置为group details
中的一个键,将值设置为list of child
并同时在给孩子的O(1)时间内获取组详细信息?