memcached 常用命令及使用说明
memcached 查看方法
格式: telnet ip port
例如 telnet localhost 11211
退出命令:quit
一.存储命令
存储命令格式:
- <command name> <key> <flag> <expire> <bytes>
- <data block>
参数说明:
command name | 命令名称 |
key | 查找关键字 |
flag | 存储额外信息 |
expire | 数据保存时间,0表示永远,单位秒 |
bytes | 存储数据的字节数 |
data block | 存储的数据 |
1.set 无论如何都存储,数据不存在时存储,数据存在时更新。
- set mykey 0 0 3
- 123
- STORED
- set mykey 0 0 3
- 456
- STORED
2.add 当数据不存在时存储。
- add mykey 0 0 3
- 123
- STORED
- add mykey 0 0 3
- 456
- NOT_STORED
3.replace 当数据存在时存储
- set mykey 0 0 3
- 123
- STORED
- replace mykey 0 0 3
- 456
- STORED
- delete mykey
- DELETED
- replace mykey 0 0 3
- 678
- NOT_STORED
二.读取命令
1.get key 可以一个或多个,用空格格开。
- set mykey 0 0 3
- 123
- STORED
- set mykey1 0 0 3
- 456
- STORED
- get mykey mykey1
- VALUE mykey 0 3
- 123
- VALUE mykey1 0 3
- 456
- END
2.gets 与 get 一样,但会返回多一个数字,这个数字用来检查数据是否被修改过,如修改过,这个数字回改变。
- set mykey 0 0 3
- 123
- STORED
- gets mykey
- VALUE mykey 0 3 7
- 123
- END
- replace mykey 0 0 3
- 888
- STORED
- gets mykey
- VALUE mykey 0 3 8
- 888
- END
3.cas cas即checked and set ,当最后一个参数与gets返回的数字一致时才存储,否则返回EXISTS。
- set mykey 0 0 3
- 123
- STORED
- gets mykey
- VALUE mykey 0 3 9
- 123
- END
- cas mykey 0 0 3 8
- 456
- EXISTS
- cas mykey 0 0 3 9
- 456
- STORED
三.追加与清除命令
1.append 将数据追加到当前缓存数据的之后,当缓存数据存在时才存储。
- set mykey 0 0 3
- 123
- STORED
- append mykey 0 0 3
- 456
- STORED
- get mykey
- VALUE mykey 0 6
- 123456
- END
- append notexists 0 0 3
- 456
- NOT_STORED
2.prepend 将数据追加到当前缓存数据的之前,当缓存数据存在时才存储。
- set mykey 0 0 3
- 123
- STORED
- prepend mykey 0 0 3
- 456
- STORED
- get mykey
- VALUE mykey 0 6
- 456123
- END
- prepend notexists 0 0 3
- 456
- NOT_STORED
3.delete 删除缓存数据,数据存在返回DELETED,数据不存在返回NOT_FOUND
- set mykey 0 0 3
- 123
- STORED
- delete mykey
- DELETED
- delete mykey
- NOT_FOUND
4.flush_all 将当前所有缓存数据设置为过期,但不会释放内存。
- flush_all
- OK
四.状态命令
1.stats 查看memcached运行状态
- pid Memcached 进程ID
- uptime Memcached 运行时间,单位:秒
- time Memcached 当前的UNIX时间
- version Memcached 的版本号
- rusage_user 该进程累计的用户时间,单位:秒
- rusage_system 该进程累计的系统时间,单位:秒
- curr_items Memcached 当前存储的内容数量
- total_items Memcached 启动以来存储过的内容总数
- bytes Memcached 当前存储内容所占用的字节数(*/1024/1024=mb)
- curr_connections 当前连接数量
- total_connections Memcached 运行以来接受的连接总数
- connection_structures Memcached 分配的连接结构的数量
- cmd_get 查询请求总数
- cmd_set 存储(添加/更新)请求总数
- get_hits 查询成功获取数据的总次数
- get_misses 查询成功未获取到数据的总次数
- bytes_read Memcached 从网络读取到的总字节数
- bytes_written Memcached 向网络发送的总字节数
- limit_maxbytes Memcached 在存储时被允许使用的字节总数
2.stats items
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。
3.stats cachedump slabs_id limit_num
slabs_id:由stats items返回的结果(STAT items后面的数字)决定的
limit_num:返回的记录数,0表示返回所有记录
通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。
- stats cachedump 1 0
- ITEM mykey [3 b; 1362880145 s]
- END
4.stats slabs 显示各个slab的信息,包括chunk的大小、数目、使用情况等
5.stats sizes 输出所有item的大小和个数
6.stats reset 清空统计数据