当前位置:坤哥网-kungge-memcached学习笔记之存储命令的使用:set命令、add命令、replace命令等

memcached学习笔记之存储命令的使用:set命令、add命令、replace命令等

2017/11/18 22:56:45 kungge阅读(485) 评论(0)


set命令


在memcached中使用set命令将value(值)存储在指定的key(键)中,若key不存在则是新增,存在则更新值。

语法格式:set key flags exptime bytes [noreply]

                 value

参数说明:

key:键值 key-value的key,用于查找缓存值。

flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。

exptime:在缓存中保存键值对的时间长度(以秒为单位,0表示永远)。

bytes:在缓存中存储的字节数。

noreply(可选): 该参数告知服务器不需要返回数据。

value:存储的值(始终位于第二行)。

下面使用一个实例,存储key=site1,flags=0,exptime=0,bytes=10,value=kungge.com,命令为 

set site1 0 0 10

kungge.com

如下:

579ad9bb-d7ff-4ef7-adc2-e282653d31e4.png

若设置成功则输出STORED,失败则输出ERROR。


add命令


在memcached中使用add命令将value(值)存储在指定的key(键)中,若key已经存在,不会更新数据,原来的value保持不变,此时会输出NOT_STORED。

语法格式:

add key flags exptime bytes [noreply]

 value

参数参考set。

下面使用一个实例,key=site2,flags=0,exptime=3600,bytes=14,value=vrgamehome.com

命令:

add site2 0 3600 14

vrgamehome.com

如下演示了添加两次同样的key情况:

020e96a1-b8ac-4720-a829-cf9fdf2aa7d5.png


replace命令


在memcached中使用replace命令替换已存在key(键)的value(值),若key不存在则替换失败,输出NOT_STORED。

语法格式:

replace key flags exptime bytes [noreply]

 value

下面使用一个实例,key=site1,flags=0,exptime=0,bytes=10,value=kungge.net

命令:

replace site1 0 0 10

kungge.net

b2aea86c-c354-4199-8b90-32513662bba2.png


append命令


在memcached中使用append命令向已经存在的key(键)的value(值)后面追加数据。

若key不存在输出NOT_STORED。

语法格式:

append key flags exptime bytes [noreply]

 value

下面使用一个实例,key=site1,flags=0,exptime=0,bytes=4,value=good

replace site1 0 0 4

good

6effd99f-5d59-4718-9f38-19ca0d7d3463.png


prepend命令


在memcached中使用prepend命令向已经存在的key(键)的value(值)前面追加数据。

若key不存在输出NOT_STORED。

语法格式:

prepend key flags exptime bytes [noreply]

 value

下面使用一个实例,key=site1,flags=0,exptime=0,bytes=6,value=itsite

replace site1 0 0 6

itsite

10450bfc-349a-47fb-8b16-35646118a561.png


cas命令


在memcached中使用cas(check and set)命令执行“检查并设置”的操作,它只有在当前客户端最后一次取值后,该key对应的值没有被其它客户端修改的情况下,才能将值写入。检查是通过cas_token参数进行,此参数是memcached指定给已经存在的元素的一个唯一64位值。要使用cas命令,需要从memcached服务商通过gets命令获取令牌(token)。

语法格式:

cas key flags exptime bytes unique_cas_token   [noreply]

 value

输入参数说明:

unique_cas_token:通过gets命令获取的一个唯一的64位值。

输出参数:

STORED:保存成功后输出。

ERROR:保存出错。

NOT_FOUND:key不存在。

EXISTS:最后一次取值后另一个客户端也在更新该数据。

下面使用一个实例:

9e149232-9713-4f29-8838-64bd478eb4d4.png


delete命令


在memcached中使用delete命令删除已存在额key(键),删除成功输出DELETED,删除失败或语法错误输出ERROR,key不存在输出NOT_FOUND。

语法格式:delete key [noreply]

2bd63550-d2d3-42b3-8e50-a518da333926.png


incr与decr命令


在memcached中使用incr命令和decr命令分别对已存在的key(键)的数值进行自增和自减操作,这两个命令操作的key对应的数据必须是十进制的32位无符号整数。

若key不存在则返回NOT_FOUND,若key对应的value不为数字则返回CLIENT_ERROR,其他错误则返回ERROR。

incr语法格式:

incr key incr_value

decr语法格式:

dcr key decr_value

参数说明:

incr_value :增加的数值。

decr_value:减少的数值。

实例:

fa303d84-a6b3-4f08-bd0f-e58270a5d9c9.png

e0ea18f5-00ed-4f8c-8597-095375db3c52.png

分类: NoSQL

发表评论 没有账号,注册评论