设为首页 收藏本站
查看: 1077|回复: 0

[经验分享] Memcached常用命令及使用说明——telnet

[复制链接]

尚未签到

发表于 2015-9-2 12:40:23 | 显示全部楼层 |阅读模式
摘自:http://www.cnblogs.com/jeffwongishandsome/archive/2011/11/06/2238265.html

链接memc
  telnet 127.0.0.1 11211
  退出命令:ctrl+] 并且 quit

一、存储命令
  存储命令的格式:






?


1

2




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

<data block>
  参数说明如下:

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

1、添加
  (1)、无论如何都存储的set



set username 0 0 8
12345678
STORED
get username
VALUE username 0 8
12345678
END
  
  这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
  可以通过“get 键名”的方式查看添加进去的记录:
DSC0000.jpg
  如你所知,我们也可以通过delete命令删除掉,然后重新添加。
DSC0001.jpg
  (2)、只有数据不存在时进行添加的add
DSC0002.jpg
  (3)、只有数据存在时进行替换的replace
DSC0003.jpg



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

二、读取命令

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



get 1name
VALUE 1name 0 16
hello%20xxliqiu1
END
  

2、gets
DSC0005.jpg
  可以看到,gets命令比普通的get命令多返回了一个数字(上图中为13)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。

3、cas
  cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。
DSC0006.jpg
  

三、状态命令

1、stats
DSC0007.jpg
  

2、stats items



stats items
STAT items:1:number 2
STAT items:1:age 2815
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:1:reclaimed 0
END
  
  执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。
  

3、stats cachedump slab_id limit_num
  我们执行stats cachedump 1 0 命令效果如下:



stats cachedump 1 100
ITEM 1name [16 b; 1372939610 s]
ITEM 2name [16 b; 1372939610 s]
ITEM 3name [16 b; 1372939610 s]
ITEM 4name [16 b; 1372939610 s]
ITEM 5name [16 b; 1372939610 s]
ITEM 6name [16 b; 1372939610 s]
ITEM 7name [16 b; 1372939610 s]
ITEM 8name [16 b; 1372939610 s]
ITEM 9name [16 b; 1372939610 s]
ITEM 10name [17 b; 1372939610 s]
ITEM zzliqiu [15 b; 1372937978 s]
ITEM yyliqiu [15 b; 1372937978 s]
END
  
  这里slab_id为1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错, 不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。
DSC0008.jpg
通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。
  

4、其他stats命令
  如stats slabs,stats sizes,stats reset等等使用也比较常见。
DSC0009.jpg
  

四、其他常见命令

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

2、prepend
  和append非常类似,但它的作用是在现有的缓存数据前添加缓存数据。
DSC00011.jpg
  

3、flush_all
DSC00012.jpg
  该命令有一个可选的数字参数。它总是执行成功,服务器会发送 “OK\r\n” 回应。它的效果是使已经存在的项目立即失效(缺省),或在指定的时间后。此后执行取回命令,将不会有任何内容返回(除非重新存储同样的键名)。 flush_all 实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。
  flush_all 效果是它导致所有更新时间早于 flush_all 所设定时间的项目,在被执行取回命令时命令被忽略。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-108723-1-1.html 上篇帖子: 【转】系统缓存全解析二:Velocity 与 Memcached 对比 下篇帖子: Memcached缓存
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表