add命令
Memcached add 命令用于将value(数据值)存储在指定的key(键)中。
如果add 的key已经存在值,则不会更新数据,之前的值将仍然保持不变,并且memcached响应NOT_STORED。
语法:
add key flags exptime bytes [noreply] value
各参数以及响应码含义与set参数相同。
实例:
set newOne 0 300 10 thisisnewb STORED get newOne VALUE newOne 0 10 thisisnewb END
replace命令
replace命令用于替换已存在的key(键)的value(数据值),如果key不存在,则替换失败,memcached响应NOT_STROED。
语法:
replace key flags exptime bytes [noreply] value
各参数以及相应码与set参数相同。
实例:
set mybaby 0 900 8 dangdang STORED get mybaby VALUE mybaby 0 8 dangdang END replace mybaby 0 900 6 haofan STORED get mybaby VALUE mybaby 0 6 haofan END
append命令
append命令用于向已存在key(键)的value(数据值)后面追加数据。
语法:
append key flags exptime bytes [noreply] value
参数与set参数意义相同。
实例:
设置变量keytoaa值为lxgap,绕后向其value后面追加asp,最后得到他的value值为lxgapasp
set keytoaa 0 600 5 lxgap STORED append keytoaa 0 600 3 asp STORED get keytoaa VALUE keytoaa 0 8 lxgapasp END
输出信息说明:
STORED:保存成功后输出。
NOT_STORED:该键在Memcached上不存在。
CLIENT_ERROR:执行错误。
prepend命令
prepend命令用于向i存在key(键)的value(数据值)前面追加数据。
语法:
prepend key flags exptime bytes [noreply] value
参数意义同前。
实例:
set say 0 900 5 laodi STORED get say VALUE say 0 5 laodi END prepend say 0 900 6 Hello STORED get say VALUE say 0 11 Hello laodi
CAS命令
CAS(Chedk-And-Set 或 Compare-And_Swap)命令用于执行一个“检查并设置”的操作,它仅在当前客户端最后一次取值后,该key对应的值没有被其他客户端修改的情况下,才能够将值写入。检查是通过cas_token参数进行的,这个参数是Memcach指定给已经存在的元素的一个唯一的64位值。
语法:
cas key flags exptime bytes unique_cas_token [noreply] value
参数说明:
key:键值key-value-结构中的key,用于查找缓存值。
flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。
exptime:在缓存中保存键值对的时间长度(以秒为单位,0表示永远)
bytes:在缓存中存储的字节数
unique_cas_token:通过gets命令获取的一个唯一的64位值
noreply(可选):该参数告知服务器不需要返回数据
value:村醋的值(始终位于第二行)(可直接理解为key-value结构中的value)
实例:
要在Memcached上使用CAS命令,需要从Memcached服务商通过gets命令获取令牌(token)
gets命令的功能类似于基本的get命令,两个命令之间的差异在于,gets返回的信息稍微多一些,64位的整型值非常像名称/值对的“版本”标识符。
如果没有设置唯一令牌,则cas命令执行错误。
如果key不存在,执行失败。
cas tem 0 900 5 ERROR #没有token cas tem 0 900 5 2 #键tem不存在 redis NOT_FOUND set tem 0 900 4 #设置键值 hehe STORED gets tem #获取token VALUE tem 0 4 16 hehe END cas tem 0 900 5 16 #执行cas命令 testC STORED get tem VALUE tem 0 5 testC END