###############################
获取字符串范围 getrange
实例:
127.0.0.1:6379> set key1 “hello,rxy”。
OK
127.0.0.1:6379> getrange key1 0 3。
“hell”
127.0.0.1:6379> getrange key1 0 -1。
“hello,rxy”
设置字符串范围setrange
实例:
127.0.0.1:6379> set key2 “abcdefg”
OK
127.0.0.1:6379> setrange key2 1 xx.
(integer) 7
127.0.0.1:6379> get key2
“axxdefg”
###############################
#setnx(set with expire) #设置过期时间
#setex(set if not expire) #不存在再设置
实例:
127.0.0.1:6379> setex key3 30 “hello”
OK
127.0.0.1:6379> setnx mykey “redis”
(integer) 1
127.0.0.1:6379> setnx mykey “redis”
(integer) 0
127.0.0.1:6379> ttl key3。
(integer) -2
###############################
mset #批量设置值
mget #批量获取值
127.0.0.1:6379> mset key1 v1 key2 v2 key3 v3. <解释:–同时设置多个值–>
OK
127.0.0.1:6379> mget key1 key2 <解释:–同时获取多个值–>
"v1""v2"“v3”
127.0.0.1:6379> msetnx key1 v1 key4. <解释:–同时设置多个值,如果存在则设置失败–>
(integer) 0
127.0.0.1:6379> get <解释:–查看v4是否设置value成功–>
(nil)
127.0.0.1:6379> msetnx key4 v4 key1 v1 <解释:–又写一遍为了检查是否设置key,value顺序会影响结果–>
(integer) 0
127.0.0.1:6379> get key4 <解释:–没有影响,原因:msetnx是原子操作,要么一起成功,要么一起失败–>
(nil)
###############################
设置对象两种方法:json格式和非json格式
1.json格式:
set user:1 {name:zhagnesan,age:1}
127.0.0.1:6379> set user:1 {name:zhagnesan,age:1}
OK
127.0.0.1:6379> get user:1
“{name:zhagnesan,age:1}”
2.非json格式
27.0.0.1:6379> mset USER:1:name zhangsan USER:1:age 1
OK
127.0.0.1:6379> mget USER:1:name USER:1:age
- “zhangsan”
- “1”
##############################
组合命令:getset
127.0.0.1:6379> getset db redis.
(nil)
127.0.0.1:6379> getset db redis
“redis”
127.0.0.1:6379> getset db redis
“redis”
127.0.0.1:6379> getset db redis
“redis”
127.0.0.1:6379> getset db mongdb
“redis”
127.0.0.1:6379> getset db mongdb。
“mongdb”
总结:redis中string类似的使用场景:value除了是我们常用的string还可以是数字
·计数器
·统计多单位的数量
·粉丝数
·对象存储