Как просмотреть данные в memcache? - PullRequest
9 голосов
/ 07 декабря 2011

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

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

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

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

Ответы [ 2 ]

9 голосов
/ 08 декабря 2011

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

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

Например,

stats

или

get MY_KEY
7 голосов
/ 09 марта 2015

Чтобы вывести список ключей с сервера, используйте инструмент memdump (иногда 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}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...