码迷,mamicode.com
首页 > 系统相关 > 详细

Memcached常用命令及使用说明

时间:2015-05-17 23:48:55      阅读:490      评论:0      收藏:0      [点我收藏+]

标签:


一、存储命令

存储命令的格式:

<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的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。

可以通过“get 键名”的方式查看添加进去的记录:

技术分享

如你所知,我们也可以通过delete命令删除掉,然后重新添加。

技术分享

(2)、只有数据不存在时进行添加的add

技术分享

(3)、只有数据存在时进行替换的replace

技术分享

2、删除

技术分享

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

二、读取命令

1、get

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

技术分享

2、gets

技术分享

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

3、cas

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


技术分享

三、状态命令

1、stats

技术分享

2、stats items

技术分享

执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。

 

3、stats cachedump slab_id limit_num

我们执行stats cachedump 1 0 命令效果如下:

技术分享

这里slab_id为1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错, 不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。

技术分享

通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。

4、其他stats命令

如stats slabs,stats sizes,stats reset等等使用也比较常见。


技术分享

四、其他常见命令

1、append

技术分享

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

 

2、prepend

和append非常类似,但它的作用是在现有的缓存数据添加缓存数据。

技术分享

3、flush_all

技术分享

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

flush_all 效果是它导致所有更新时间早于 flush_all 所设定时间的项目,在被执行取回命令时命令被忽略。

4、其他命令

memcached还有很多命令,比如对于存储为数字型的可以通过incr/decr命令进行增减操作等等,这里只列出开发和运维中经常使用的命令,其他的不再一一举例说明。


参考:http://code.google.com/p/memcached/wiki/NewCommands

Memcached常用命令及使用说明

标签:

原文地址:http://my.oschina.net/u/1045177/blog/415990

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!