「这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战」
Redis的String操作
String(字符串)
1、向字符串后追加字符:APPEND key "value"
示例:向key后追加“,xuyang”的字符串
APPEND key1 ",xuyang"
注意事项:如果该键存在则向后追加字符串,若不存在则新建。
2、获取字符串的长度:STRLEN key
示例:获取string类型的key为key1的字符串长度
STRLEN key1
3、设置字符串数值自增:incr key
示例:设置string类型的key为key2的键对应的数值自增
incr key2
4、设置字符串自减:decr key
示例:设置string类型的key为key2的键对应的数值自减
decr key2
5、设置字符串自增的步长:INCRBY key num
示例:设置string类型的key为key3的键对应的数值以步长为10自增
INCRBY key3 10
6、设置字符串自减的步长:DECRBY key num
示例:设置string类型的key为key3的键对应的数值以步长为5自增
DECRBY key3 5
7、截取指定字符串长度:GETRANGE key start end
示例:截取string类型的key为key1的字符串的0到3长度的字符并显示
GETRANGE key1 0 3
8、替换字符串字符(从指定位置开始的相同长度的字符):SETRANGE key start value
示例:替换string类型的key为key2的值,从第一个开始替换为abc
SETRANGE key2 1 abc
9、批量创建键值对:mset key1 value1 key2 value2 ... ...
示例:批量设置键为key1值为a1、键为key2值为a2、键为key3值为a3的键值对
mset key1 a1 key2 a2 key3 a3
10、批量获取键值对的值:mget key1 key2 key3 ...
示例:批量获取键为key1、key2值的键值对的值
mget key1 key2
11、设置多个值:msetnx key1 value1 key2 value2 ... ...
示例:批量设置键为key1值为v1、键为key2值为v2的键值对
msetnx key1 v1 key2 v2
注意事项:msetnx是一个原子性的操作,要么都成功,要么都失败,如果键不存在则创建成功,若存在则创建失败。
命令操作示例:
127.0.0.1:6379> set key1 v1 #设置键值对
OK
127.0.0.1:6379> get key1 #获取键值对
"v1"
127.0.0.1:6379> EXISTS key1 #判断键值对是否存在
(integer) 1
127.0.0.1:6379> APPEND key1 "hello" #向字符串后追加字符
(integer) 7
127.0.0.1:6379> STRLEN key1 #获取字符串长度
(integer) 7
127.0.0.1:6379> set views 0 #设置一个初始浏览量
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> incr views #设置浏览量自增(自增量为1)
(integer) 1
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> decr views #设置浏览量自减(自减量为1)
(integer) 2
127.0.0.1:6379> decr views
(integer) 1
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> INCRBY views 10 #设置浏览量规定步长的自增(步长为10)
(integer) 10
127.0.0.1:6379> INCRBY views 10
(integer) 20
127.0.0.1:6379> DECRBY views 5 #设置浏览量规定步长的自减(步长为5)
(integer) 15
127.0.0.1:6379> DECRBY views 5
(integer) 10
127.0.0.1:6379> GETRANGE key1 0 3 #截取key1字符串的0到3长度的字符
"hell"
127.0.0.1:6379> GETRANGE key1 0 -1 #截取key1字符串的0到-1长度的字符(所有字符)
"hello,xuyang"
127.0.0.1:6379> set key2 "abcdefg" #设置字符串abcdefg
OK
127.0.0.1:6379> SETRANGE key2 1 xx #替换key2键中从1开始的字符
(integer) 7
127.0.0.1:6379> get key2 #获取key2
"axxdefg"
127.0.0.1:6379> setex key3 20 "hello" #创建key3的值为hello有效时间为20秒
OK
127.0.0.1:6379> ttl key3 #查看key3的有效时间
(integer) 14
127.0.0.1:6379> setnx mykey "redis" #创建mykey的值为redis,如果不存在则创建成功,若存在则创建失败
(integer) 1
127.0.0.1:6379> keys * #查看所有的key值
1) "key1"
2) "mykey"
3) "key2"
127.0.0.1:6379> ttl key3 #查看key3的有效时间
(integer) -2 # -2 表示失效
127.0.0.1:6379> setnx mykey "mongDB" #创建mykey值为mongDB,若存在则创建失败,返回0
(integer) 0
127.0.0.1:6379> get mykey
"redis"
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
明天继续加油!