Redis系列-存储篇string主要操作函数小结

2014-11-24 18:24:19 · 作者: · 浏览: 1

通过上两篇的介绍,我们的redis服务器基本跑起来。db都具有最基本的CRUD功能,我们沿着这个脉络,开始学习redis丰富的数据结构之旅,当然先从最简单且常用的string开始。


1、新增


a)set


语法:set key value


解释:把值value赋给key,如果key不存在,新增;否则,更新


[root@linuxidc001 ~]# redis-cli
redis 127.0.0.1:6379> set user.1.name zhangsan #设置user.1.name 为zhangsan
OK
redis 127.0.0.1:6379> set user.name 45 #设置user.1.name 为45
OK


b)setnx


语法:setnx key value


解释:只insert不update,即,仅仅key不存在时,则设置key的值为value,并返回1,否则返回0 。setnx 是set if not exists 的缩写


redis 127.0.0.1:6379> setnx user.1.name zhangsan #user.1.name已经存在,则返回0
(integer) 0
redis 127.0.0.1:6379> setnx user.2.name zhangsan #user.2.name不存在,则设置
(integer) 1


c)setex


语法: setex key seconds value


解释:设置key的过期时间和值。过期时间seconds单位是秒。设置过期时间和值是原子操作,如果redis仅仅当做缓存,这个很命令很有用。


redis 127.0.0.1:6379> setex user.2.age 2 14 #把user.2.age 的值设14 并且2秒后过期失效
OK
redis 127.0.0.1:6379> get user.2.age #失效前
"14"
redis 127.0.0.1:6379> get user.2.age #失效后
(nil)


d)mset


语法:mset key value [key value ...]


解释:同时设置多个key-value


redis 127.0.0.1:6379> mset user.4.name lisi user.4.age 34 #设置user.4.name=lisi,user.4.age=34
OK
redis 127.0.0.1:6379> get user.4.name
"lisi"
redis 127.0.0.1:6379> get user.4.age
"34"


e)msetnx


语法:msetnx key value [key value ...]


解释:所有key都不存在才执行set操作


redis 127.0.0.1:6379> msetnx user.4.name lisi user.4.age 34 #key 都设置过,无法再次set
(integer) 0
redis 127.0.0.1:6379> msetnx user.4.name lisi user.4.std 3 #key user.4.name 曾设置过,无法再次设置
(integer) 0
redis 127.0.0.1:6379> msetnx user.4.tech lisi user.4.std 3 #key都没有设置过,可以再次设
(integer) 1