【问题标题】:Cache eviction on hashes on RedisRedis 上的哈希缓存驱逐
【发布时间】:2014-12-29 08:59:01
【问题描述】:

如果我在 Redis 上有多个散列,每个散列的键在 24 小时内过期,如果在使用 allkeys-lru 之类的驱逐策略时内存耗尽,Redis 会删除整个散列还是单个键?

【问题讨论】:

    标签: redis


    【解决方案1】:

    Redis 仅支持键级别的过期。因此,一旦设置了 TTL,包含 hashmap 的密钥将完全过期(所有子字段都将随之消失)。其他 Redis 数据类型(例如 Sets 和 Lists)也是如此。

    如果您使用哈希存储需要过期的键名,只需为每个此类键名单独设置 TTL,而不是为哈希键设置 TTL。

    【讨论】:

    • 只是为了确认一下:当你说Redis only supports expiration at the key's level.时,你指的不是Redis哈希键(级别1)中包含的键,而是一般的Redis键(级别0)?
    • 没错。将 0 级哈希键中的“键”视为“字段”,然后键的到期是有意义的(但不是字段 :))。
    猜你喜欢
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2018-08-20
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 2017-06-17
    相关资源
    最近更新 更多