测试小生 Li_Hugo 微博:http://weibo.com/lz2012bj

memcached命令

上一篇 / 下一篇  2013-11-19 11:11:06 / 个人分类:linux命令

memcached命令
标准协议
No Reply
存储命令
set命令
add命令
replace命令
append命令
prepend命令
cas命令
读取命令
get命令
gets命令
删除命令
incr/decr命令
查看memcached使用状态
stats命令
stats items命令
stats slabs命令
stats sizes命令
flush_all命令
全部协议在Protocol Documentation中
标准协议
memcached所有的标准协议包含在对item执行命令过程中,一个item包含:
一个key
一个32位的标志值
以秒为单位的失效时间
一个64为的CAS值,这个是唯一的
数据
CAS是可选的,可以使用“
-C”禁止CAS。
No Reply
大多数ascii命令允许“noreply”。建议大家在ascii协议下别用“noreply”,因为那样不会报请求错误。“noreply”的目的是在执行交互命令(如:set、add)后,避免等待返回的包。
二进制协议将“noreply”定义为声明。如果你的客户端支持或者使用二进制协议,那么你将会用到它。
存储命令
首先客户端向服务器按照如下格式发送命令行:
<command name> <key> <flags> <exptime> <bytes>\r\n
    a) <command name> 可以是"set", "add", "replace"。
        "set"表示按照相应的<key>存储该数据。
        "add"表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败。
        "replace"表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败
    b) <key> 客户端需要保存数据的key。
    c) <flags> 是一个16位的无符号的整数(以十进制的方式表示)。该标志将和需要存储的数据一起存储,并在客户端get数据时返回。客户可以将此标志用做特殊用途,此标志对服务器来说是不透明的。
    d) <exptime> 过期的时间。如果该数值为0表示存储的数据永远不过时(但是,该数据有可能被其他项所替换掉。因为服务器采用了LRU(最近最久没有使用)的算法替换)。如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。
    e) <bytes> 需要存储的字节数(不包含最后的"\r\n"),当用户希望存储空数据时,<bytes>可以为0
    f) 最后客户端需要加上"\r\n"作为"命令头"的结束标志。
<data block>\r\n
    紧接着"命令头"结束之后就要发送数据块(即希望存储的数据内容),最后加上"\r\n"作为此次通讯的结束。
reply
    当以上数据发送结束之后,服务器将返回一个应答。可能有如下的情况:
    a) "STORED\r\n"
        表示存储成功
    b) "NOT_STORED\r\n"
        表示存储失败,但是该失败不是由于错误。通常这是由于"add"或者"replace"命令本身的要求所引起的,或者该项在删除队列之中(见delete命令)。
set
set是保存数据命令。会覆盖已存在的数据,而新数据将在LRU顶端
add
只有在该数据不存在时才保存该数据。如果是新加入的item,那么将其直接放在LRU顶端;如果item已经存在导致add失败,那么将这个item从LRU链表上摘下再放到LRU顶端。
replace
替换已经存在的数据。 这个操作几乎用不到。
append
紧接着已经存在的item增加item。这个操作不允许增加原来的item限制,对管理链表很有用。
prepend
与append命令类似,这个命令是在已存在的数据前加入新数据。
cas
检查并存储(Check And Set)或者比较并更新(Compare And Swap)。如果从上次读取到现在没有更新,那么存入数据,处理更新竞争很有用。
读取命令
获取数据的格式: 
get <key>*\r\n

TAG:

 

评分:0

我来说两句

日历

« 2024-05-05  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 58587
  • 日志数: 60
  • 图片数: 1
  • 建立时间: 2013-09-30
  • 更新时间: 2015-09-06

RSS订阅

Open Toolbar