全部产品

云数据库Memcache支持的API

更新时间:2017-06-07 13:26:11   分享:   

请注意:以下协议为元操作,不同客户端封装后会有增减或修改。请以相应客户端操作的定义为准。

存储命令

操作 备注
Add 表示如果服务器没有保存该关键字的情况下,存储该数据
Replace 表示在服务器已经拥有该关键字的情况下,替换原有内容
Set 表示存储该数据
Cas 表示仅当数据从上次获取后没有被其它程序修改过的时候才存储

样例

<command name> <key> <flags> <exptime> <bytes>"r"n

<data block>"r"n

<cas> <key> <flags> <exptime> <bytes> <cas unique>"r"n

<data block>"r"n

说明

<command name> 是 set、add或者replace。<key>是客户端要求服务器存储数据的关键字。

<flags>是一个16位的无符号整数,服务器将它和数据一起存储并且当该数据被检索时一起返回。客户端可能使用该数值作为一个位图来存储特殊数据信息;这个字段对服务器不是透明的。

<exptime>是超时时间。如果值为0表示该数据项永远不超时(但有时候该数据项可能被删除以为其他数据腾出空间);如果值不为0,可能是绝对的UNIX时间,也可能是自现在开始的偏移值,它保证客户段在这个超时时间到达后,客户端将取不到该数据项。

<bytes>是随后数据的字节数,不包括终结符”"r"n”。<bytes>有可能是0,它后面将是一个空的数据块。

<data block>是真正要存储数据流。

<cas unique>是对应该版本item的唯一标识符,需通过gets接口获取后再传入cas命令。

读取操作

操作 备注
Get 获取Key的Value

样例 get <key>*"r"n

说明 <key>*表示一个或多个使用空格分割的关键字字符串

删除操作

操作 备注
Delete 删除命令允许直接删除数据项

样例

delete <key> <time>"r"n

说明

<key>是客户端希望服务器删除数据项的关键字

<time>是客户端希望服务器阻止add和replace命令使用该关键字数据项的秒数,可以是相对时间也可以是UNIX的绝对时间。在这段时间内,数据项被放入一个删除队列,它不能被get命令读取,在其上使用add和replace也会失败,但使用set命令可以成功。当这个时间过去后,数据项从服务器的内存中真正的删除。该参数是可选参数,如果不存在默认为0,这意味着立即从服务器上删除。

其他操作

操作 备注
Increment/ Decrement 命令用来修改以及存在的数据项的内容,增加或者减少它。该数据被当作32位无符号整数处理。如果当前数据非此类数据,则经将该内容当作0来处理。另外在其上施加incr/decr命令的数据项必须是业已存在的;对于不存在的数据项不会将它作为0对待,而是以错误结束
Version 获取服务器版本信息
Append 在Valu后追加字符
Prepend 在Value前追加字符
No-op 无操作,调试用
Quit 当服务器接受到此命令后,就关闭与该客户的连接
本文导读目录
本文导读目录
以上内容是否对您有帮助?