2017-02-07 32 views

回答

-1

不幸的是,Redis中没有一种max_age功能,除非您为每个键设置了TTL。

+0

如何设置每个密钥的TTL会给最老的密钥的年龄? – Amit

2

Redis不保存密钥的年龄。如果您在所有按键上设置了固定TTL,则可以对几个按键进行采样,并通过查看它们的TTL来了解它们的年龄(因为所有对象都具有相同的TTL)。这样你可以统计估计最老的密钥。

+0

它会给出最老的密钥,但不是最老的密钥的年龄。我的用例是每天刷新缓存,我打算使用max_age进行完整性检查,即前一天没有任何内容留在缓存中。可能我可以用EXPIREAT命令,例如在日边界的清除键或设置TTL =日边界 - 当前时间。 – Amit

+0

@认为它会给你最老的钥匙的估计年龄。年龄始终是'$ GLOBAL_TTL - $ OBJECT_TTL',即具有6400秒TTL的对象在80000秒前创建。 无论如何,听起来就像你只是在寻找LRU和过期时间,而这个重做过程并没有保存年龄。 –

+0

Redis没有全局ttl。然而,设置day_boundary(我们可以假设为全局ttl) - 当前时间ttl的工作原理,只是在应用程序中执行它很慢(python代码)。 – Amit

相关问题