有人可以澄清maxmemory-policy
是否适用于 HashSets ?
比方说,我有一个名为REGION
的密钥,根据该密钥我有多个键值数据:
1) northamerica 12345
2) southafrica 1234
3) southeastasia 2311
很少访问 southafrica
。如果我的政策是allkeys-lru
?
答案 0 :(得分:3)
Redis仅支持 KEY 级别的驱逐。它不支持驱逐任何键的内部元素。
因此,当且仅当southafrica
HashSet被驱逐时,REGION
才会被驱逐。只要REGION
存在,就不会删除southafrica
(除非您自行删除)。
答案 1 :(得分:0)
LRU是最近最少使用的,它指的是密钥本身而不是其中的不同元素。在您的情况下REGION
。
当您从allkey-*
家庭中选择驱逐政策时,您必须准备好丢失存储在Redis中的所有数据。
如果有钥匙您不愿意丢失,请确保您的驱逐政策在任何情况下都不能驱逐它们。