Как просмотреть данные в memcache?

Я установил memcache и теперь, как мне действительно просматривать данные в memcache?

есть ли способ увидеть данные, присутствующие в кэше внутри memcache?

Как я действительно знаю, получает ли memcache данные, хранящиеся внутри него?

примечание: Я не хочу писать какую-либо программу, чтобы увидеть данные внутри memcache. В принципе, сервер memcache уже установлен в моей среде, и он также кэширует данные. Но я хотел бы знать, есть ли они имеются утилиты, которые покажут мне кэшированные данные в memcache или если есть команда, которая покажет мне данные в кэше.

2 ответов


нет способа получить memcached, чтобы сообщить, какие ключи он держит. Я считаю, что это был выбор дизайна, так как это отрицательно повлияло бы на производительность.

однако вы можете использовать любое клиентское приложение telnet для подключения сервера memcached и ввода команд. Делать это, чтобы получить или установить определенный ключ.

например,

stats

или:

get MY_KEY

сбросить список ключей с сервера, используйте (иногда memcdump), например,

memdump --servers=localhost

чтобы получить значение элемента, используйте netcat:

echo "get 13456_-cache-some_object" | nc 127.0.0.1 11211

или в bash:

exec {memcache}<>/dev/tcp/localhost/11211; printf "get items:42:number\nquit\n" >&${memcache}; cat <&${memcache}

сбросить все объекты:

memdump --servers=localhost | xargs -L1 -I% sh -c 'echo "get %" | nc localhost 11211'

или в bash:

exec {memcache}<>/dev/tcp/localhost/11211; printf "stats items\nquit\n" >&${memcache}; cat <&${memcache}