2014-10-07 6 views
2

Я хотел бы просмотреть время последнего доступа для определенного ключа на моем сервере redis.Получите последний доступ к данному ключу Redis

Я знаю, что эта информация хранится для каждого ключа, потому что она используется в алгоритме LRU redis для устранения старых ключей.

Есть ли простой способ увидеть эту информацию для данного ключа?

+0

@ Javier Я ценю настроение, но LRU фактически означает «Наименее недавно используемый», по крайней мере, в контексте алгоритма LRU. http://en.wikipedia.org/wiki/Cache_algorithms –

ответ

9

Для этой цели вы можете использовать команду OBJECT IDLETIME. Он возвращает количество секунд с момента доступа к ключу, но если вам нужно время, просто вычтите ответ от now().

+1

Фантастический. Спасибо. –

+0

Но это не даст эпоху ... Также не может отделить последнюю запись по сравнению с последней прочитанной ... –

+0

Правда, далека от идеала, но это то, что есть –

2

Ответ Итамара Хабера, безусловно, лучший, но я считаю, что есть другой путь.

Вы можете использовать команду DEBUG OBJECT, хотя, поскольку ее имя указывает, что это команда отладки и ее не следует (действительно) использовать. Его выход дает вам LRU.

Имейте в виду, что он определенно не должен использоваться в производстве, а скорее как инструмент, который поможет вам понять, что происходит.

+0

Очень верно. Также имейте в виду, что DEBUG обычно блокируется (хотя, скорее всего, OBJECT также запрещен;)) в хорошо поддерживаемых производственных средах. –

Смежные вопросы