Memcached常用命令及使用说明
2017-01-15 18:47
363 查看
一、存储命令
存储命令的格式:
参数说明如下:
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即checkedand set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。如图:
三、状态命令
1、stats
如图:
此图结果详解:
pid :进程id
uptime :总的运行时间,秒数
time :当前时间
version :版本号
……
curr_items :当前缓存中的KeyValue数量
total_items :曾经总共经过缓存的KeyValue数量
bytes :所有的缓存使用的内存量
curr_connections 当前连接数
….
cmd_get :总获取次数
cmd_set :总的写入次数
get_hits :总的命中次数
miss_hits : 获取失败次数
…..
bytes_read :总共读取的流量字节数
bytes_written :总的写入流量字节
limit_maxbytes :最大允许使用的内存量,字节
很多时候需要监控服务器上的Memcached运行情况,比如缓存的查询次数,命中率之类的。其中,uptime 是memcached运行的秒数,cmd_get是查询缓存的次数。这两个数据相除一下就能得到平均每秒请求缓存的次数——最近niupu的流量很低,所以平均也就一秒请求一次多,这么点大的压力,用文件系统缓存一样没问题,根本不会体现出使用memcached的优越。下面的cmd_set 就是设置key=>value的次数。整个memcached是个大hash,用cmd_get没有找到的内容,就会调用一下cmd_set写进缓存里。紧跟着是get_hits,就是缓存命中的次数。缓存命中率=get_hits/cmd_get
* 100%。下面的get_misses的数字加上get_hits应该等于cmd_get。而total_itemscurr_items表示现在在缓存中的键值对个数,total_items
== cmd_set ==get_misses,不过当可用最大内存用光时,memcached就会删掉一些内容,上面的等式就不成立了。
2、stats items
如图:
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。
3、stats cachedumpslab_id limit_num
我们执行statscachedump 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命令进行增减操作等等,这里只列出开发和运维中经常使用的命令,其他的不再一一举例说明。
存储命令的格式:
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)、无论如何都存储的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即checkedand set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。如图:
三、状态命令
1、stats
如图:
此图结果详解:
pid :进程id
uptime :总的运行时间,秒数
time :当前时间
version :版本号
……
curr_items :当前缓存中的KeyValue数量
total_items :曾经总共经过缓存的KeyValue数量
bytes :所有的缓存使用的内存量
curr_connections 当前连接数
….
cmd_get :总获取次数
cmd_set :总的写入次数
get_hits :总的命中次数
miss_hits : 获取失败次数
…..
bytes_read :总共读取的流量字节数
bytes_written :总的写入流量字节
limit_maxbytes :最大允许使用的内存量,字节
很多时候需要监控服务器上的Memcached运行情况,比如缓存的查询次数,命中率之类的。其中,uptime 是memcached运行的秒数,cmd_get是查询缓存的次数。这两个数据相除一下就能得到平均每秒请求缓存的次数——最近niupu的流量很低,所以平均也就一秒请求一次多,这么点大的压力,用文件系统缓存一样没问题,根本不会体现出使用memcached的优越。下面的cmd_set 就是设置key=>value的次数。整个memcached是个大hash,用cmd_get没有找到的内容,就会调用一下cmd_set写进缓存里。紧跟着是get_hits,就是缓存命中的次数。缓存命中率=get_hits/cmd_get
* 100%。下面的get_misses的数字加上get_hits应该等于cmd_get。而total_itemscurr_items表示现在在缓存中的键值对个数,total_items
== cmd_set ==get_misses,不过当可用最大内存用光时,memcached就会删掉一些内容,上面的等式就不成立了。
2、stats items
如图:
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。
3、stats cachedumpslab_id limit_num
我们执行statscachedump 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命令进行增减操作等等,这里只列出开发和运维中经常使用的命令,其他的不再一一举例说明。
相关文章推荐
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明——netcat
- memcached 常用命令及使用说明
- Memcached常用命令以及使用说明详解
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明
- memcached 常用命令及使用说明
- Memcached常用命令以及使用说明详解
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明
- memcached 常用命令及使用说明
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明——telnet
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明
- Memcached常用命令及使用说明