欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Memcache查看列出所有key方法及memkeys实时查看key使用情况

程序员文章站 2022-05-08 15:55:08
...
本文我们来分享关于Memcache查看列出所有key方法及利用memkeys实时查看memcached key使用情况,smemkeys是tumblr开源的类似top的工具,可用于实时查看memcached的key使用情况.

Memcache 查看列出所有key方法

今天在做一个Memcache的session测试,但是在测试的过程中,发现Memcache没有一个比较简单的方法可以直接象redis那样keys *列出所有的Session key,并根据key get对应的session内容,于是,我开始查找资料,翻出来的大部分是一些memcache常用命令等,但是对列出key的办法,讲解却不多,于是来到google,找到了一个国外的资料.

具体的内容我套用我的测试环境中,操作如下.

1.cmd上登录memcache

> telnet 127.0.0.1 11211

2.列出所有keys

stats items // 这条是命令 
	STAT items:7:number 1 
	 STAT items:7:age 188 
	 END 

3.通过itemid获取key

接下来基于列出的items id,本例中为7,第2个参数为列出的长度,0为全部列出.

stats cachedump 7 0 // 这条是命令 
	ITEM Sess_sidsvpc1473t1np08qnkvhf6j2 [183 b; 1394527347 s] 
	END 

4.通过get获取key值

上面的stats cachedump命令列出了我的session key,接下来就用get命令查找对应的session值.

get Sess_sidsvpc1473t1np08qnkvhf6j2 //这条是命令 
	VALUE 
	Sess_sidsvpc1473t1np08qnkvhf6j2 1440 1 
	 83 
	 Sess_|a:5:{s:6:"verify";s:32:"e70981fd305170c41a5632b2a24bbcaa";s:3:"uid";s:1:"1   
	 ";s:8:"username";s:5:"admin";s:9:"logintime";s:19:"2014-03-11 16:24:25";s:7:"log 
	 inip";s:9:"127.0.0.1";} 

memkeys实时查看memcached key使用情况

memkeys

memkeys是tumblr开源的类似top的工具,可用于实时查看memcached的key使用情况.

memkeys安装

安装autoconf(要求版本2.68以上):

# wget -c http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz 
	# tar zxvf autoconf-latest.tar.gz 
	# cd autoconf-2.69 
	# ./configure 
	# make && make install 

安装其它依赖:

# yum install libpcap-devel pcre-devel ncurses-devel

安装memkeys:

# git clone https://github.com/tumblr/memkeys.git 
	# cd memkeys 
	# ./autogen.sh 
	# ./configure 
	# make && make install 

memkeys使用:

# memkeys -h 
	Usage: memkeys -i NIC [options] 
	    -d, --discard=THRESH        Discard keys where req/s rate is below THRESH 
	    -i, --interface=NIC         Network interface to capture traffic on (required) 
	    -p, --port=PORT             Network port to capture memcache traffic on (default 11211) 
	    -r, --refresh=INTERVAL      Refresh the stats display every INTERVAL ms (default 500) 
	    -l, --logfile=FILE          Output logs to FILE 
	    -R, --report=REPORT         Output data in REPORT format (CSV or curses, default curses) 
	 
	    -h, --help                  This help 
	    -v, --verbose               Increase verbosity. May be used multiple times. 
	    -V, --version               Show program info and exit. 

例子1:# memkeys -i eth0 -l /tmp/memkeys.log

例子2:# memkeys -i eth0 -d 10.0 -l /tmp/memkeys.log