如何在memcache中查看数据?

时间:2011-12-07 18:49:02

标签: memcached

我已经安装了memcache,现在我如何真正查看memcache中的数据?

有没有办法在memcache中看到缓存中的数据?

我如何真正知道memcache是​​否将数据存储在其中?

注意:我不想编写任何程序来查看memcache中的数据。基本上,memcache服务器已经安装在我的环境中,它也在缓存数据。但我想知道是否有任何可用的实用程序可以向我显示内存缓存中的缓存数据,或者是否有任何命令可以显示到目前为止缓存的数据。

2 个答案:

答案 0 :(得分:9)

没有办法让memcached报告它所拥有的密钥。我认为这是一个设计选择,因为这样做会对性能产生负面影响。

但是,您可以使用任何telnet客户端应用程序连接memcached服务器并键入命令。这样做是为了获得或设置一个特定的密钥。

例如,

stats

或:

get MY_KEY

答案 1 :(得分:6)

要从服务器转储密钥列表,请使用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}