Redis上哈希的缓存逐出

Redis上哈希的缓存逐出,redis,Redis,如果我在Redis上有几个散列,每个散列的密钥都会在24小时内过期,如果在使用诸如allkeys lru之类的逐出策略时内存耗尽,Redis会删除整个散列还是单个密钥?Redis只支持密钥级别的过期。因此,一旦使用TTL设置,包含hashmap的密钥将完全过期(所有子字段都将随之消失)。其他Redis数据类型(如集合和列表)也是如此 如果您使用散列存储需要过期的密钥名,只需单独设置每个此类密钥名的TTL,而不是散列的密钥。只是为了确认:当您说Redis只支持在密钥级别过期时。您不指Redis散列

如果我在Redis上有几个散列,每个散列的密钥都会在24小时内过期,如果在使用诸如allkeys lru之类的逐出策略时内存耗尽,Redis会删除整个散列还是单个密钥?

Redis只支持密钥级别的过期。因此,一旦使用TTL设置,包含hashmap的密钥将完全过期(所有子字段都将随之消失)。其他Redis数据类型(如集合和列表)也是如此


如果您使用散列存储需要过期的密钥名,只需单独设置每个此类密钥名的TTL,而不是散列的密钥。

只是为了确认:当您说
Redis只支持在密钥级别过期时。
您不指Redis散列密钥(级别1)中包含的密钥,而是指一般的Redis密钥(级别0)?完全正确。将级别0散列键中的“键”视为“字段”,然后键的过期才有意义(但字段除外:)。