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