2014-10-07 45 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