2014-10-07 46 views
2

我想查看我的redis服务器上特定密钥的最近访问时间。获取上次访问给定Redis密钥的时间

我知道这个信息是为每个密钥存储的,因为它在redis的LRU算法中用于消除旧的密钥。

有没有一种简单的方法来查看给定密钥的这些信息?

+0

@Javier我很欣赏这种情绪,但LRU实际上代表“最近最少使用”,至少在LRU算法的情况下。 http://en.wikipedia.org/wiki/Cache_algorithms – 2014-10-07 22:19:01

回答

9

您可以使用OBJECT IDLETIME命令达到此目的。它返回自密钥访问以来的秒数,但如果您需要时间,则从现在开始减去回复()。

+1

太棒了。谢谢。 – 2014-10-08 12:39:52

+0

但是,这不会给时代...也不能分开最后一次写入比较到最后一次读取... – 2017-11-14 09:02:57

+0

真的,很不理想,但它是什么 – 2017-11-14 22:19:45

2

Itamar Haber的答案绝对是最好的,但我相信还有其他方法。

您可以使用DEBUG OBJECT命令,尽管它的名称表示它是一个调试命令,不应该(真的)被使用。它的输出为您提供了LRU。

请记住,它绝对不应该在生产中使用,而是作为一种工具来帮助您了解正在发生的事情。

+0

非常真实。另外请记住,在维护良好的生产环境中,DEBUG通常被阻止(尽管很可能也禁止OBJECT;))。 – 2014-10-08 13:17:17