just do it

关于Memcached的一些事之memcached命令

主要启动参数

•启动方式:
•-d   以守护程序(daemon)方式运行
•-u root   指定用户,如果当前为 root ,需要使用此参数指定用户
•-P /tmp/a.pid  保存PID到指定文件
•内存设置:
•-m 1024   数据内存数量,不包含memcached本身占用,单位为 MB
•-M   内存不够时禁止LRU,报错
•-n 48  初始chunk=key+suffix+value+32结构体,默认48字节
•-f 1.25   增长因子,默认1.25
•-L  启用大内存页,可以降低内存浪费,改进性能
•连接设置:
•-l 127.0.0.1   监听的 IP 地址,本机可以不设置此参数
•-p 11211   TCP端口,默认为11211,可以不设置
•-U 11211  UDP端口,默认为11211,0为关闭
•并发设置:
•-c 1024  最大并发连接数,默认1024,最好是200
•-t 4  线程数,默认4。由于memcached采用NIO,所以更多线程没有太多作用
•-R 20  每个event连接最大并发数,默认20
•-C  禁用CAS命令(可以禁止版本计数,减少开销)
如:

/usr/local/bin/memcached -d -u nobody -m 1024 -p 11210 -l 10.11.12.70 -P /opt/memcached/pid/m11210.pid

memcached调试

•-v  +输出error/warning
•-vv  +输出命令/响应
•-vvv  +输出内部状态
《关于Memcached的一些事之memcached命令》

存储命令

格式:

<command> <key> <flags> <exptime> <bytes> [<version>]\r\n

<datablock>\r\n

<status>\r\n

command set无论如何都进行存储add只有数据不存在时进行添加

repalce只有数据存在时进行替换

append往后追加:append <key> datablock <status>?

prepend往前追加:prepend <key> datablock <status>

cas按版本号更改

key 字符串,<250个字符,不包含空格和控制字符
flags 客户端用来标识数据格式的数值,如json,xml,压缩等
exptime 存活时间s,0为永远,<30天60*60*24*30为秒数,>30天为unixtime
bytes byte字节数,不包含\r\n,根据长度截取存/取的字符串,可以是0,即存空串
datablock 文本行,以\r\n结尾,当然可以包含\r或\n
status STORED/NOT_STORED/EXISTS/NOT_FOUNDERROR/CLIENT_ERROR/SERVER_ERROR服务端会关闭连接以修复
《关于Memcached的一些事之memcached命令》

读取命令

格式:

<command> <key>*\r\n

VALUE <key1> <flags> <bytes> [<version>]\r\n

<datablock>\r\n

VALUE <keyn> <flags> <bytes> [<version>]\r\n

<datablock>\r\n

END\r\n

command: get普通查询,gets用于查询带版本的值

《关于Memcached的一些事之memcached命令》

 

检查存储命令cas

cas即check and set,只有版本号相匹配时才能存储,否则返回EXISTS

设计意图:解决多客户端并发修改同一条记录的问题,防止使用经过改变了的value/key对

《关于Memcached的一些事之memcached命令》

 

计数命令incr/decr

格式:

incr/decr<key> <int>

<int>

要求:key必须存在,value必须是数字

《关于Memcached的一些事之memcached命令》

 

删除命令delete

格式:

delete <key> [<time>]

DELETE\r\n

time: 秒数或Unixtime,在time时间内不能add或replace,但能set,不能get。过期后才能够重新set有效并能get

《关于Memcached的一些事之memcached命令》

 

统计命令stats

格式:

stats [<args>]\r\n

STAT <name> <value>\r\n

END\r\n

《关于Memcached的一些事之memcached命令》

stats统计项

《关于Memcached的一些事之memcached命令》

stats settings查看设置

《关于Memcached的一些事之memcached命令》

stats items数据项统计

《关于Memcached的一些事之memcached命令》

stats sizes对象数量统计

《关于Memcached的一些事之memcached命令》

stats slabs区块统计

《关于Memcached的一些事之memcached命令》

 

其他命令

•version
•flush_all
•quit
•echo/nc快捷方式
《关于Memcached的一些事之memcached命令》
点赞