日期:2014-05-16 浏览次数:20566 次
通过上两篇的介绍,我们的redis服务器基本跑起来。db都具有最基本的CRUD功能,我们沿着这个脉络,开始学习redis丰富的数据结构之旅,当然先从最简单且常用的string开始。
1、新增
a)set
语法:set key value
解释:把值value赋给key,如果key不存在,新增;否则,更新
[root@xsf001 ~]# 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 OKb)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) 1c)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"
语法: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
a)get
语法:get key
解释:获取key所set的值
redis 127.0.0.1:6379> get user.4.name #获取user.4.name 的值 "lisi" redis 127.0.0.1:6379> get user.4.age "34" redis 127.0.0.1:6379> get user.4.tech "lisi" redis 127.0.0.1:6379> get user.4.std "3"b)mget
语法: get key [key]
解释:批量获取key的值。程序一次获取多个