Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Redis中找到最旧物品的年代?_Redis - Fatal编程技术网

如何在Redis中找到最旧物品的年代?

如何在Redis中找到最旧物品的年代?,redis,Redis,Memcached提供了max\u age,但无法为Redis找到类似的功能。是因为Redis不支持这种元数据吗?不幸的是,Redis中没有最大年龄功能,除非您为每个键设置了TTL。不幸的是,Redis中没有最大年龄功能,除非您为每个键设置了TTL。Redis不保存键的年龄。如果在所有关键点上设置了固定的TTL,则可以对一些关键点进行采样,通过查看它们的TTL可以知道它们的年龄(因为所有对象都具有相同的TTL)。通过这种方式,您可以统计估计最旧的关键点 Redis不会保存钥匙的使用年限。如果在所

Memcached提供了max\u age,但无法为Redis找到类似的功能。是因为Redis不支持这种元数据吗?

不幸的是,Redis中没有最大年龄功能,除非您为每个键设置了TTL。

不幸的是,Redis中没有最大年龄功能,除非您为每个键设置了TTL。

Redis不保存键的年龄。如果在所有关键点上设置了固定的TTL,则可以对一些关键点进行采样,通过查看它们的TTL可以知道它们的年龄(因为所有对象都具有相同的TTL)。通过这种方式,您可以统计估计最旧的关键点

Redis不会保存钥匙的使用年限。如果在所有关键点上设置了固定的TTL,则可以对一些关键点进行采样,通过查看它们的TTL可以知道它们的年龄(因为所有对象都具有相同的TTL)。通过这种方式,您可以统计估计最旧的关键点

为每个键设置TTL将如何给出最旧的键的年龄?理论上,您可以在每个键上循环并检查每个键的TTL。我承认,这很难。为每个键设置TTL将如何给出最老的键的年龄?理论上,您可以在每个键上循环并检查每个键的TTL。很难,我承认…它会给出最老的钥匙,但不会给出最老钥匙的年龄。我的使用案例是每天刷新缓存,我计划使用max_age进行健全性检查,即缓存中没有前一天的内容。也许,我可以使用EXPIREAT命令,即清除日期边界上的键,或者设置TTL=日期边界-当前时间。@Amit它将为您提供最早的键的估计年龄。年龄始终为
$GLOBAL\u TTL-$OBJECT\u TTL
,即80000秒前创建了一个具有6400秒TTL的对象。不管怎么说,听起来你只是在寻找LRU和过期,redis没有保存年龄就这样做了。redis没有全局ttl。然而,当ttl工作时,设置day_边界(我们可以假设为全局ttl)-当前时间,只是在应用程序中这样做很慢(python代码)。它将给出最旧的密钥,但不会给出最旧密钥的年龄。我的使用案例是每天刷新缓存,我计划使用max_age进行健全性检查,即缓存中没有前一天的内容。也许,我可以使用EXPIREAT命令,即清除日期边界上的键,或者设置TTL=日期边界-当前时间。@Amit它将为您提供最早的键的估计年龄。年龄始终为
$GLOBAL\u TTL-$OBJECT\u TTL
,即80000秒前创建了一个具有6400秒TTL的对象。不管怎么说,听起来你只是在寻找LRU和过期,redis没有保存年龄就这样做了。redis没有全局ttl。然而,当ttl工作时,设置day_边界(我们可以假设为全局ttl)是当前时间,只是在应用程序中这样做很慢(python代码)。