memcached基本操作
memcached提供了为数不多的几个命令来完成与服务器端的交互,这些命令基于memcached的协议实现
telnet 127.0.0.1 11211 #远程连接到memcached
set key2 0 60 3 #插入一条数据,key值为key2, 0是flags标记, 60秒过期, 大小3字节
abc #回车输入数据,必须等于3字节,否则报错
STORED #存储成功
get key2 #查看key值
VALUE key2 0 3 #显示key值标记和大小,没有显示过期时间
abc
END #结束
quit #退出
---------------------------------------------------------------------------------------------------------------------------------------------------
语法规则
<command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n
注:\r\n在windows下是Enter键
a)<command name>
存储类命令:"set"、"add"、"replace","append","prepend"
"set" 表示按照响应的<key>存储该数据,没有的时候增加,有则覆盖
"add" 表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败
"replace" 表示按照相应的<key>替换数据,但是如果该<key>不存在则会操作失败
"append" 将数据追加到当前缓存数据的之后
"prepend" 将数据追加到当前缓存数据的之前
获取数据类命令:get, delete, incr/decr
get key1 key2...:读取
incr/decr key:对数字型的对象进行增/减操作
统计类命令:
stats:查看memcached运行状态
stats items:
stats slabs:显示各个slab的信息,包括chunk的大小、数目、使用情况等
stats sizes:输出所有item的大小和个数
清理命令:
delete key:删除
flush_all:将当前所有缓存数据设置为过期,但不会释放内存
b)<key> 客户端需要保存数据的key
c)<flags> 是一个16位的无符号的整数(以十进制当方式表示)
该标志将和需要存储的数据一起存储,并在客户端get数据时返回,客户端可以将此标志用作特殊用途,此标志对服务器来说是不透明的
d)<exptime> 过期的时间
若为0表示存储的数据永远不过时(但可被服务器算法:LRU 等替换)。
如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)
e)<bytes> 需要存储的字节数,当用户希望存储空数据时<bytes>可以为0
f)<data block>需要存储的内容,输入完成后,最后客户端需要加上”\r\n”(windows直接点击Enter)作为”命令头”的结束标志
浙公网安备 33010602011771号