zoukankan      html  css  js  c++  java
  • 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    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    【BZOJ 2916】 2916: [Poi1997]Monochromatic Triangles (容斥)
    【BZOJ 2024】 2024: [SHOI2009] 舞会 (容斥原理+高精度)
    【BZOJ 3235】 3235: [Ahoi2013]好方的蛇 (单调栈+容斥原理)
    【BZOJ 4710】 4710: [Jsoi2011]分特产 (容斥原理)
    【BZOJ 1853】 1853: [Scoi2010]幸运数字 (容斥原理)
    【BZOJ 3812】 3812: 主旋律 (容斥原理**)
    【BZOJ 2839】 2839: 集合计数 (容斥原理)
    POJ2635——The Embarrassed Cryptographer(高精度取模+筛选取素数)
    POJ2533——Longest Ordered Subsequence(简单的DP)
    POJ2531——Network Saboteur(随机化算法水一发)
  • 原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4619103.html
Copyright © 2011-2022 走看看