上都海奶茶馆 发表于 2018-11-4 13:43:32

Redis 字符串类型数据的操作命令

  1、进入redis客户端
  /usr/local/redis/bin/redis-cli
  127.0.0.1:6379>
  2、set:设置字符串类型数据
127.0.0.1:6379> set name zhangsan  
OK
  
127.0.0.1:6379> set name lisi
  
OK
  
127.0.0.1:6379> get name
  
"lisi"
  从上面例子可知,如果key已经存在,再次用set设置值会覆盖原来的值
  3、setnx:(set not exist)如果key已经存在,则返回0,如果key不存在才设置值
127.0.0.1:6379> setnx name wangwu  
(integer) 0
  
127.0.0.1:6379> get name
  
"lisi"
  
127.0.0.1:6379> setnx job SE
  
(integer) 1
  
127.0.0.1:6379> get job
  
"SE"
  
127.0.0.1:6379>
  4、setex(set):设置key对应的值为string类型的value,并指定此键值对应的有效期
  例如:我们添加一个haircolor=red的键值对,并指定有效期为10秒
127.0.0.1:6379> setex haircolor 10 red  
OK
  
127.0.0.1:6379> get haircolor
  
"red"
  
127.0.0.1:6379> get haircolor
  
(nil)
  5、setrange: 从指定下标位置开始替换字符,并返回字符长度。如果替换的字符串长度没有原字符串长度长,则会保留没有被替换的字符串
127.0.0.1:6379> set mail zeng@163.com  
OK
  
127.0.0.1:6379> get mail
  
"zeng@163.com"
  
127.0.0.1:6379> setrange mail 5 qq.com//5代表下标位置,下标从0开始
  
(integer) 12
  
127.0.0.1:6379> get mail
  
"zeng@qq.comm"
  
127.0.0.1:6379>
  6、mset:一次性设置多个key的值,成功返回ok,表示所有值都设置了,失败返回0,表示没有任何值被设置
127.0.0.1:6379> mset key1 aaa key2 bbb key3 ccc  
OK
  
127.0.0.1:6379> get key1
  
"aaa"
  
127.0.0.1:6379> get key2
  
"bbb"
  
127.0.0.1:6379> get key3
  
"ccc"
  7、msetnx:一次设置多个key的值,成功返回ok,表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key
127.0.0.1:6379> msetnx key3 cc key4 ddd key5 eee  
(integer) 0
  
127.0.0.1:6379> get key3
  
"ccc"
  
127.0.0.1:6379> get key4
  
(nil)
  
127.0.0.1:6379> get key5
  
(nil)
  由于key3已经存在,导致key4 key5都设置失败了
  8、get:获取key对应string的值,如果值不存在则返回nil
  9、getset:设置key的值,并返回key的旧值
127.0.0.1:6379> getset key1 aaaa  
"aaa"
  
127.0.0.1:6379> get key1
  
"aaaa"
  10、getrange KEY N M:获取指定下标位置的key的值
127.0.0.1:6379> getrange mail 0 4  
"zeng@"
  
127.0.0.1:6379> getrange mail 0 3
  
"zeng"
  
127.0.0.1:6379>
  11、mget:获取多个key的值
127.0.0.1:6379> mget key1 key2 key3  
1) "aaaa"
  
2) "bbb"
  
3) "ccc"
  12、incr:对key的值做加加操作,并返回最新的值
127.0.0.1:6379> set key4 10  
OK
  
127.0.0.1:6379> incr key4
  
(integer) 11
  
127.0.0.1:6379> incr key4
  
(integer) 12
  
127.0.0.1:6379> incr key4
  
(integer) 13
  13、incrby:同incr类似,加指定值,key不存在的时候会设置key,并认为原来的value是0
127.0.0.1:6379> incrby key410  
(integer) 23
  
127.0.0.1:6379> incrby key410
  
(integer) 33
  
127.0.0.1:6379> get key4
  
"33"
  
127.0.0.1:6379> incrby key4-5
  
(integer) 28
  
127.0.0.1:6379> incrby key4-5
  
(integer) 23
  14、decr:对key的值做减减操作
127.0.0.1:6379> decr key4  
(integer) 22
  
127.0.0.1:6379> decr key4
  
(integer) 21
  15、decrby:与decrby相反
127.0.0.1:6379> decrby key4 2  
(integer) 19
  
127.0.0.1:6379> decrby key4 2
  
(integer) 17
  
127.0.0.1:6379> decrby key4 2
  
(integer) 15
  16、append:给指定key的字符串追加value,返回新字符串值 的长度
127.0.0.1:6379> get name  
"zeng"
  
127.0.0.1:6379> append name .com
  
(integer) 8
  
127.0.0.1:6379> get name
  
"zeng.com"
  17、strlen:查看key对应值得长度
127.0.0.1:6379> strlen name  
(integer) 8


页: [1]
查看完整版本: Redis 字符串类型数据的操作命令