①Redis String 字符串类型【命令汇总】
命令不区分大小写,而key是区分大小写的
始终实用的帮助命令,不会用就找它:help @类型
help @string help @list help @hash
1. set key value 设置指定key的值
set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]
set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]
SET
命令有EX
、PX
、NX
、XX
、KEEPTLL
五个可选参数,其中KEEPTLL
为6.0版本添加的可选参数,其他为2.6.12版本添加的可选参数。
EX seconds
:以秒为单位,设置过期时间PX milliseconds
:以毫秒为单位,设置过期时间EXAT timestamp
:设置以秒为单位的UNIX时间戳所对应的时间为过期时间PXAT milliseconds-timestamp
:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间NX
:当键不存在的时候,设置键值XX
:当键存在的时候,设置键值KEEPTLL
:保存设置前指定键的生存时间GET
:返回指定键原本的值,若键不存在时返回nil
SET
命令使用EX
、PX
、NX
参数,效果等同于SETEX
、PSETEX
、SETNX
命令,根据官方文档描述:SETEX
、PSETEX
、SETNX
命令未来可能会被淘汰。
EXAT
、PXAT
、GET
参数为Redis6.2新增的可选参数。
返回值
- 设置成功则返回OK
- 返回nil代表未执行SET命令,如不满足NX、XX条件等情况
- 若使用SET参数,则返回键原本的值,若键不存在则返回nil
set k1 v1 # 设置键k1值为v1 set k2 v2 ex 10 # 设置键k2值为v2,十秒后过期 ttl k2 # 查看k2的过期时间 # 十秒后,k2过期了... set k2 v2 px 9000 # 设置键k2值为v2,9000毫秒后过期 # 九秒后,k2又过期了... set k2 v2 nx # 当k2不存在时,创建设置键k2值为v2 set k2 v22 xx # 当k2存在时,设置键k2的值为v22
2. get key 获取指定key的值
get key
get k1 # 获取k1的值 get k2 # 获取k2的值
k3不存在,返回空
3. mset key value 设置多个键值
mset key value [key value ...]
# 设置多个键值:kk1 vv1、kk2 vv2、kk3 vv3 mset kk1 vv1 kk2 vv2 kk3 vv3
4. mget key 获取多个指定键的值
mget key [key ...]
# 一次获取多个键的值 mget k1 k2 kk1 kk2 kk3
5. msetnx key value 设置多个键值(键不存在为前提)
msetnx key value [key value ...]
# 键a不存在,创建成功 msetnx a a # 键a存在,键b不存在,创建不成功 msetnx a a b b # !多个键值中,只要出现不符合条件的键值,msetnx命令就不会执行!
6. getrange 获取指定范围内的值
getrange key start end
# 获取k1键所有下标范围内的值 getrange k1 0 -1 # 获取k1键下标0-3范围内的值 getrange k1 0 3
7. setrange 设置指定范围的值
setrange key offset value
# 设置k1键从下标0开始区间范围的值,返回值是当前k1键的值的长度 setrange k1 0 xxxx
8. incr key 递增数字
一定要是数字才能进行加减
incr key
# 递增K2键的值 incr k2
9. decr key 递减数字
一定要是数字才能进行加减
decr key
# 递减K2键的值 decr k2
10.incrby 增加指定的整数
一定要是数字才能进行加减
incrby key decrement
# 为k2键的值增加90 incrby k2 90
11.decrby 减去指定的整数
一定要是数字才能进行加减
decrby key decrement
# 为k2键的值减去100 decrby k2 100
12. strlen key 获取指定键的值长度(字符串长度)
strlen key
# 获取k1键的值的字符串长度 strlen k1 strlen k2 strlen kk1 strlen kk2 strlen kk3
13. append 内容追加
append key value
#向k1键的值最佳内容"ooooo" append k1 ooooo
14. setex 设置带过期时间的key
setex key seconds value
# 设置键值对 k3 v3,过期时间为10秒 setex k3 10 v3
15. setnx 设置指定key的值(key不存在为前提)
setnx key value
# key不存在时,创建键值对,返回成功的个数 setnx k3 v3
16. getset 设置指定key的值并返回旧值
getset key value
getset k1 oo29oo