Redis 缓存 - 获取初始超时设置



在 Redis 缓存中,是否可以检索在密钥上设置的原始超时?我知道有一种方法可以检索任何键的挂起 TimeToLive,但我想要创建键时设置的原始值。

不,Redis 不存储密钥的原始 TTL。了解需要这样做的用例会很有趣。

但是,您可以使用排序集来跟踪初始 TTL。这个想法是,在每次调用EXPIRE之后,调用该集合上的ZADD,成员是键的名称。分数应该是小数,其中小数点前的部分是到期时间戳,小数部分是 TTL(根据您的最大 TTL 用 0 填充)。

要检索初始 TTL,请使用键的名称调用集合上的 ZSCORE 并提取小数点后的部分。

请注意,通过采用这种方法,您必须进行一些内务处理,即从集合中删除过期成员。为此,请定期调用从 -inf 到当前时间戳的ZREMBYSCORE

相关内容

  • 没有找到相关文章

最新更新