Memcached常用命令及使用说明

存储命令

存储命令的格式:

<command name> <key> <flags> <exptime> <bytes>
<data block>

参数说明如下:

<command name> set/add/replace
<key>
<flags> 客户机使用它存储关于键值对的额外信息
<exptime> 该数据的存活时间,0表示永远
<bytes> 存储字节数
<data block> 存储的数据块(可直接理解为key-value结构中的value)
  • 添加
  1. 无论如何都存储的set

    这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
    可以通过“get 键名”的方式查看添加进去的记录:

  2. 只有数据不存在时进行添加的add

  3. 只有数据存在时进行替换的replace

    删除 可以看到,删除已存在的键值和不存在的记录可以返回不同的结果。

读取命令

  • get
    get命令的key可以表示一个或者多个键,键之间以空格隔开

  • gets

    可以看到,gets命令比普通的get命令多返回了一个数字(上图中为351100)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。
  • cas
    cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”

状态命令

  • stats
    用于查看memcached的运行情况,部分参数解释如下:

    更详细的参数如下:
    STAT pid 22362 //memcache服务器的进程ID
    STAT uptime 1469315 //服务器已经运行的秒数
    STAT time 1339671194 //服务器当前的unix时间戳
    STAT version 1.4.9 //memcache版本
    STAT libevent 1.4.9-stable //libevent版本
    STAT pointer_size 64 //当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统)
    STAT rusage_user 3695.485200 //进程的累计用户时间
    STAT rusage_system 14751.273465 //进程的累计系统时间
    STAT curr_connections 69 //服务器当前存储的items数量
    STAT total_connections 855430 //从服务器启动以后存储的items总数量
    STAT connection_structures 74 //服务器分配的连接构造数
    STAT reserved_fds 20 //
    STAT cmd_get 328806688 //get命令(获取)总请求次数
    STAT cmd_set 75441133 //set命令(保存)总请求次数
    STAT cmd_flush 34 //flush命令请求次数
    STAT cmd_touch 0 //touch命令请求次数
    STAT get_hits 253547177 //总命中次数
    STAT get_misses 75259511 //总未命中次数
    STAT delete_misses 4 //delete命令未命中次数
    STAT delete_hits 565730 //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 touch_hits 0 //touch命令未命中次数
    STAT touch_misses 0 //touch命令命中次数
    STAT auth_cmds 0 //认证命令处理的次数
    STAT auth_errors 0 //认证失败数目
    STAT bytes_read 545701515844 //总读取字节数(请求字节数)
    STAT bytes_written 1649639749866 //总发送字节数(结果字节数)
    STAT limit_maxbytes 2147483648 //分配给memcache的内存大小(字节)
    STAT accepting_conns 1 //服务器是否达到过最大连接(0/1)
    STAT listen_disabled_num 0 //失效的监听数
    STAT threads 4 //当前线程数
    STAT conn_yields 14 //连接操作主动放弃数目
    STAT hash_power_level 16 //
    STAT hash_bytes 524288
    STAT hash_is_expanding 0
    STAT expired_unfetched 30705763
    STAT evicted_unfetched 0
    STAT bytes 61380700 //当前存储占用的字节数
    STAT curr_items 28786 //当前存储的数据总数
    STAT total_items 75441133 //启动以来存储的数据总数
    STAT evictions 0 //为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)
    STAT reclaimed 39957976 //已过期的数据条目来存储新数据的数目
  • stats items、stats slabs、stats sizes、stats reset等等也比较常用,请自行查阅。

其他常见命令

  • append
    在现有的缓存数据后添加缓存数据,如现有缓存的key不存在服务器响应为NOT_STORED。

  • prepend
    和append非常类似,但它的作用是在现有的缓存数据前添加缓存数据。
  • flush_all
    调用flush_all的时刻,数据所占的内存并不会被释放,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的),但会被标记为过期,是不能再被取得了,你后来添加的值,会根据需要逐渐占用掉之前的空间。
出处:http://www.zhaiqianfeng.com    
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4619103.html