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

通过上两篇的介绍,我们的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 

相关推荐