memcache的运行状态可以方便的用 stats 命令显示。 首先用telnet 127.0.0.1 11211 这样的命令连接上memcache,
然后直接输入stats就可以得到当前memcache的状态。
echo "stats" | nc mem11.55tuan.me 30001 这些状态的说明如下:
pid memcache服务器的进程ID uptime 服务器已经运行的秒数 time 服务器当前的unix时间戳 version memcache版本 pointer_size 当前操作系统的指针大小(32位系统一般是32bit) rusage_user 进程的累计用户时间 rusage_system 进程的累计系统时间 curr_items 服务器当前存储的items数量 total_items 从服务器启动以后存储的items总数量 bytes 当前服务器存储items占用的字节数 curr_connections 当前打开着的连接数 total_connections 从服务器启动以后曾经打开过的连接数 connection_structures 服务器分配的连接构造数 cmd_get get命令(获取)总请求次数 cmd_set set命令(保存)总请求次数 get_hits 总命中次数 get_misses 总未命中次数 evictions 为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items) bytes_read 总读取字节数(请求字节数) bytes_written 总发送字节数(结果字节数) limit_maxbytes 分配给memcache的内存大小(字节) threads 当前线程数获取/检查KeyValue
get <key>*/r/n a) <key>* 表示一个或者多个key(以空格分开) b) “/r/n” 命令头的结束结果响应:reply
服务器端将返回0个或者多个的数据项。每个数据项都是由一个文本行和一个数据块组成。当所有的数据项都接收完毕将收到”END/r/n” 每一项的数据结构: VALUE <key> <flags> <bytes>/r/n <data block>/r/na) <key> 希望得到存储数据的key
b) <falg> 发送set命令时设置的标志项 c) <bytes> 发送数据块的长度(不包含”/r/n”) d) “/r/n” 文本行的结束标志 e) <data block> 希望接收的数据项。 f) “/r/n” 接收一个数据项的结束标志。如果有些key出现在get命令行中但是没有返回相应的数据,这意味着服务器中不存在这些项,这些项过时了,或者被删除了
如:get aa VALUE aa 33 4 ffff END