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)作为”命令头”的结束标志

 

posted @ 2016-06-12 15:11  sellsa  阅读(104)  评论(0)    收藏  举报