redis:String字符串类型(三)

字符串拼接(如果key不存在则创建):append name " applesnt"

获取字符串的长度:strlen name

127.0.0.1:6379> set name hello
OK
127.0.0.1:6379> append name " applesnt" #字符串拼接,如果key不存在则创建
(integer) 14
127.0.0.1:6379> get name  #查看拼接后的字符串
"hello applesnt"
127.0.0.1:6379> strlen name #获取字符串的长度
(integer) 14

计数器 + +:incr count

计数器 - -:decr count

步长计数器 + +:incrby view 5

步长计数器 - -:decrby view 2

127.0.0.1:6379> set count 0 #设置一个初始值0
OK
127.0.0.1:6379> get count 
"0"
127.0.0.1:6379> incr count # 每次加1
(integer) 1
127.0.0.1:6379> incr count # 每次加1
(integer) 2
127.0.0.1:6379> get count 
"2"
127.0.0.1:6379> decr count # 每次减1
(integer) 1
127.0.0.1:6379> get count
"1"
127.0.0.1:6379> set view 0 #设置一个初始值0
OK
127.0.0.1:6379> incrby view 5 # 每次加5
(integer) 5
127.0.0.1:6379> incrby view 5 # 每次加5
(integer) 10
127.0.0.1:6379> get view
"10"
127.0.0.1:6379> decrby view 2 # 每次减2
(integer) 8
127.0.0.1:6379> decrby view 2 # 每次减2
(integer) 6

截取字符串(包含start和end):getrange name 0 4

127.0.0.1:6379> get name
"hello applesnt"
127.0.0.1:6379> getrange name 0 4 #截取0 1 2 3 4下标字符
"hello"
127.0.0.1:6379> getrange name 0 -1 #获取所有字符串
"hello applesnt"

替换字符串(从第几个开始替换):setrange name 1 xxx

127.0.0.1:6379> get name
"hello applesnt"
127.0.0.1:6379> setrange name 1 xxx #从第1个开始 包含第1个 替换后面2个字符串为xxx
(integer) 14
127.0.0.1:6379> get name
"hxxxo applesnt"

设置字符串过期时间:setex address 30 "bj"

127.0.0.1:6379> setex address 30 "bj" #设置key的过期时间和value
OK
127.0.0.1:6379> ttl address
(integer) 22

自判断创建字符串(如果key存在则失败,不存在则创建):setnx name lishi

127.0.0.1:6379> set name zhangsan #设置一个key:name
OK
127.0.0.1:6379> setnx name lishi #如果key存在 则赋值失败
(integer) 0
127.0.0.1:6379> get name #值没有改变
"zhangsan"
127.0.0.1:6379> setnx age 12 #创建key:age
(integer) 1
127.0.0.1:6379> get age
"12"
127.0.0.1:6379> get name
"zhangsan"

批量设置key的值:mset name applesnt address bj

批量获取key的值:mget name address

自判断批量设置key的值(一个失败则全部失败):msetnx name applesnt age 12

127.0.0.1:6379> mset name applesnt address bj #批量设置
OK
127.0.0.1:6379> mget name address #批量获取
1) "applesnt"
2) "bj"
127.0.0.1:6379> msetnx name applesnt age 12 #name已经存在 则全部失败
(integer) 0

先获取值再设置值:getset study java

127.0.0.1:6379> getset study java #第一次getset 所以study没值
(nil)
127.0.0.1:6379> get study #getset完成后 可以获取值
"java"
127.0.0.1:6379> getset study redis #由于study已存在,可以返回value
"java"
127.0.0.1:6379> get study
"redis"
posted @ 2020-04-06 15:26  努力的校长  阅读(179)  评论(0编辑  收藏  举报