memcached中存储的value值都会记录一个标识
参数说明如下:
- key:键值 key-value 结构中的 key,用于查找缓存值。
- flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
- exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
- bytes:在缓存中存储的字节数
- unique_cas_token通过 gets 命令获取的一个唯一的64位值。
- noreply(可选): 该参数告知服务器不需要返回数据
- value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
比如:
set tp 0 900 9
memcached
STORED
这里存储数据的标识可通过gets tp来查看
gets tp
VALUE tp 0 9 1
memcached
END
显然这里存储的数据标识是1
在使用cas命令之前,缓存中必须存在tp这个key
使用cas命令来修改tp的值,目的是解决多个客户端并发操作带来的获取数据不一致问题
cas tp 0 900 5 1
redis
STORED
使用cas命令后,可以重新通过gets tp命令来查看新的数据标识,下次使用cas来修改tp的值,必须用带上这个新的数据标识
gets tp
VALUE tp 0 5 2(这里的2就是新的数据标识)
redis
END