
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~
命令不区分大小写,而key是区分大小写的
始终实用的帮助命令,不会用就找它:help @类型
help @string
help @list
help @hash
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:返回指定键原本的值,若键不存在时返回nilSET命令使用EX、PX、NX参数,效果等同于SETEX、PSETEX、SETNX命令,根据官方文档描述:SETEX、PSETEX、SETNX命令未来可能会被淘汰。
EXAT、PXAT、GET参数为Redis6.2新增的可选参数。
返回值
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
get key
get k1 # 获取k1的值
get k2 # 获取k2的值
k3不存在,返回空
mset key value [key value ...]
# 设置多个键值:kk1 vv1、kk2 vv2、kk3 vv3
mset kk1 vv1 kk2 vv2 kk3 vv3
mget key [key ...]
# 一次获取多个键的值
mget k1 k2 kk1 kk2 kk3
msetnx key value [key value ...]
# 键a不存在,创建成功
msetnx a a
# 键a存在,键b不存在,创建不成功
msetnx a a b b
# !多个键值中,只要出现不符合条件的键值,msetnx命令就不会执行!
getrange key start end
# 获取k1键所有下标范围内的值
getrange k1 0 -1
# 获取k1键下标0-3范围内的值
getrange k1 0 3
setrange key offset value
# 设置k1键从下标0开始区间范围的值,返回值是当前k1键的值的长度
setrange k1 0 xxxx
一定要是数字才能进行加减
incr key
# 递增K2键的值
incr k2
一定要是数字才能进行加减
decr key
# 递减K2键的值
decr k2
一定要是数字才能进行加减
incrby key decrement
# 为k2键的值增加90
incrby k2 90
一定要是数字才能进行加减
decrby key decrement
# 为k2键的值减去100
decrby k2 100
strlen key
# 获取k1键的值的字符串长度
strlen k1
strlen k2
strlen kk1
strlen kk2
strlen kk3
append key value
#向k1键的值最佳内容"ooooo"
append k1 ooooo
setex key seconds value
# 设置键值对 k3 v3,过期时间为10秒
setex k3 10 v3
setnx key value
# key不存在时,创建键值对,返回成功的个数
setnx k3 v3
getset key value
getset k1 oo29oo