memcache命令行查看状态

今天突然想查看一下memcache服务器的一些信息,不常用不太记得这些命令和字段的意义了,谷歌了一下。

原文:http://www.51testing.com/?uid-116228-action-viewspace-itemid-107545

memcache运行状态可以方便的用stats命令显示。

首先用telnet 127.0.0.1 11211  【quit 退出】这样的命令连接上memcache,然后直接输入stats就可以得到当前memcache的状态。
这些状态的说明如下:

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 当前线程数

 

 

原文地址:memcache 命令 2作者:京京

删除命令

如果存在,将item从cache中删除,

delete 命令格式: 

delete <key> <time>rn

 

 

    a) <key> 需要被删除数据的key

    b) <time> 客户端希望服务器将该数据删除的时间(unix时间或者从现在开始的秒数)

    c) "rn" 命令头的结束


reply


    a) "DELETEDrn" 删除成功

    b) "NOT_FOUNDrn" 需要删除的key不存在

 

incr/decr

Increment and Decrement. 如果item是以64为整型存储的,那么可以使用incr和decr命令修改那个数。

如果数据不存在,那么将返回失败。

 

命令格式:

 

incr <key> <value>rn

 

 

or

 

 

 

decr <key> <value>rn

 

 

 

 

 

    a) <key> 数据项的key

 

    b) <value> 用户希望增加/减少的数据的数值.该数值是一个32位十进制的无符号整形变量。

    c) "rn" 命令行结束标志


reply

    a) "NOT_FOUNDrn" 没有找到需要操作的项。

 

    b) "<value>rn" <value>数据项有效期的最新剩余时间。


 

注意: 【不理解未验证】

    a) 如果一个数据项的有效期被设置为0,这时使用decr命令是无法减少数据。

 

    b) 如果要执行 incr key -1 的操作不会有什么问题,结果和你希望的一样。但是,执行decr -1时的结果一定会让你觉得很意外,因为它的结果无论key的数据是什么结果的都是0.原因是:在这两个命令的执行过程中都是吧-1当做一个无符号的整形处理的。

 

    c) 执行decr命令时数据的长度不会随之而减小,而是在返回数据的后面填补空格。但是执行incr命令越界后会自动的增加数据的位数。

 

 

 

 

 

 

 

查看memcached使用状态

 通过这些命令可以查看memcached服务器的使用状态。

stats

查看memcached状态的基本命令,通过这个命令可以看到如下信息:

STAT pid 22459                             进程ID
STAT uptime 1027046                        服务器运行秒数
STAT time 1273043062                       服务器当前unix时间戳
STAT version 1.4.4                         服务器版本
STAT pointer_size 64                       操作系统字大小(这台服务器是64位的)
STAT rusage_user 0.040000                  进程累计用户时间
STAT rusage_system 0.260000                进程累计系统时间
STAT curr_connections 10                   当前打开连接数
STAT total_connections 82                  曾打开的连接总数
STAT connection_structures 13              服务器分配的连接结构数
STAT cmd_get 54                            执行get命令总数
STAT cmd_set 34                            执行set命令总数
STAT cmd_flush 3                           指向flush_all命令总数
STAT get_hits 9                            get命中次数
STAT get_misses 45                         get未命中次数
STAT delete_misses 5                       delete未命中次数
STAT delete_hits 1                         delete命中次数
STAT incr_misses 0                         incr未命中次数
STAT incr_hits 0                           incr命中次数
STAT decr_misses 0                         decr未命中次数
STAT decr_hits 0                           decr命中次数
STAT cas_misses 0    cas未命中次数
STAT cas_hits 0                            cas命中次数
STAT cas_badval 0                          使用擦拭次数
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785                      读取字节总数
STAT bytes_written 15222                   写入字节总数
STAT limit_maxbytes 1048576                分配的内存数(字节)
STAT accepting_conns 1                     目前接受的链接数
STAT listen_disabled_num 0                 
STAT threads 4                             线程数
STAT conn_yields 0
STAT bytes 0                               存储item字节数
STAT curr_items 0                          item个数
STAT total_items 34                        item总数
STAT evictions 0                           为获取空间删除item的总数


stats items

输出各个slab中的item信息。s

stats slabs

输出slab中更详细的item信息

stats sizes

输出所有item的大小和个数

 

stats cachedump <slab_id> <limit_num>


根据<slab_id>输出相同的<slab_id>中的item信息。<limit_num>是输出的个数,当<limit_num>为0是输出所有的item。

 

 

 

flush_all

使在内存中所有的item失效。加入参数则表示在N秒后失效所有item。这项操作会立即返回,不会暂停服务器。这个操作并不会真的释放内存空间,而是标志所有的item为失效




7、高级缓存细节查看方法:
stats reset
清空统计数据

stats malloc
显示内存分配数据

stats cachedump slab_id limit_num
显示某个slab中的前limit_num个key列表,显示格式如下
ITEM key_name [ value_length b; expire_time|access_time s]
其中,memcached 1.2.2及以前版本显示的是  访问时间(timestamp)
1.2.4以上版本,包括1.2.4显示 过期时间(timestamp)
如果是永不过期的key,expire_time会显示为服务器启动的时间

stats cachedump 7 2
ITEM copy_test1 [250 b; 1207795754 s]
ITEM copy_test [248 b; 1207793649 s]

stats slabs
显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats items
显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)

stats detail [on|off|dump]
设置或者显示详细操作记录

参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)

8、清空所有键值
flush_all
注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存。

8、退出
quit\r\n



你可能感兴趣的:(unix,memcached,cmd,服务器,delete,存储)