String类型
基本
set key value [NX|XX] [GET] [EX seconds|PX milliseconds
|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]
EX seconds: 以秒为单位设置过期时间
PX milliseconds :以毫秒为单位设置过期时间
EXAT unix-time-seconds :设置以秒为单位的unix时间戳对应的时间为过期时间
PXAT unix-time-milliseconds:设置以毫秒为单位的unix时间戳对应的时间为过期时间
NX: 健不存在的时候设置键值
XX: 健存在的时候设置键值
KEEPTTL:保留设置前指定键的生存时间
GET: 返回指定键原本的值,若键不存在返回nil
127.0.0.1:6379> set k5 v5 nx
OK
127.0.0.1:6379> set k5 v5 nx
(nil)
127.0.0.1:6379> set k6 v6 xx
(nil)
127.0.0.1:6379> set k5 v5 xx
OK
设置k1的值,并获取k1之前的值。
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k1 v777 get
"v1"
127.0.0.1:6379> get k1
"v777"
设置过期时间
set k1 v1 ex 10 //过期时间10秒
127.0.0.1:6379> ttl k1
(integer) 5
127.0.0.1:6379> ttl k1
(integer) 3
127.0.0.1:6379> ttl k1
(integer) -2
//设置过期的时间戳
set k1 v1 exat 1722829089
KEEPTTL
第一次设置了过期时间,第二次设置的时候会被直接重置。
如果希望第二次只改变值,不修改过期时间,使用KEEPTTL。。
127.0.0.1:6379> set k1 v1 ex 30
OK
127.0.0.1:6379> ttl k1
(integer) 24
127.0.0.1:6379> set k1 v11
OK
127.0.0.1:6379> ttl k1
(integer) -1
127.0.0.1:6379> del k1
(integer) 1
127.0.0.1:6379> set k1 v1 ex 30
OK
127.0.0.1:6379> ttl k1
(integer) 26
127.0.0.1:6379> set k1 vwww keepttl
OK
127.0.0.1:6379> ttl k1
(integer) 9
同时设置/获取多个键值。
mset/mget
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"
127.0.0.1:6379>
// msetnx 会将后面的当作整体 k1存在了,所以不会成功。
127.0.0.1:6379> msetnx k1 v122 k4 v444
(integer) 0
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> get k4
(nil)
//k5 k6都不存在则成功
127.0.0.1:6379> msetnx k5 v5 k6 v6
(integer) 1
127.0.0.1:6379> mget k5 k6
1) "v5"
2) "v6"
GETRANGE/SETRANGE
索引从0开始。
GETRANGE 获取位于start和end两个索引之间的内容,左右都是闭区间。0,-1表示全部。
SETRANGE命令我们可以从索引index开始,用你想写入的value值替换掉给定键key所存储的字符串中的部分,这里只接受正数索引。
127.0.0.1:6379> set k1 adcd1234
OK
127.0.0.1:6379> GETRANGE k1 0 -1
"adcd1234"
127.0.0.1:6379> GETRANGE k1 0 3
"adcd"
127.0.0.1:6379> GETRANGE k1 0 0
"a"
127.0.0.1:6379> GETRANGE k1 0 1
"ad"
127.0.0.1:6379> SETRANGE k1 1 xx
(integer) 8
127.0.0.1:6379> get k1
"axxd1234"
INCR/DECR
127.0.0.1:6379> set k1 100
OK
127.0.0.1:6379> get k1
"100"
127.0.0.1:6379> INCR k1
(integer) 101
127.0.0.1:6379> INCR k1
(integer) 102
127.0.0.1:6379> INCR k1
(integer) 103
127.0.0.1:6379> INCR k1
(integer) 104
127.0.0.1:6379> INCRBY k1 3
(integer) 107
STRLEN/APPEND
STRLEN 获取字符串长度
APPEND 追加字符串
127.0.0.1:6379> set k1 abcd
OK
127.0.0.1:6379> STRLEN k1
(integer) 4
127.0.0.1:6379> APPEND k1 UUwxdq
(integer) 10
127.0.0.1:6379> get k1
"abcdUUwxdq"