①Redis String 字符串类型【命令汇总】-LMLPHP


①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命令有EXPXNXXXKEEPTLL五个可选参数,其中KEEPTLL为6.0版本添加的可选参数,其他为2.6.12版本添加的可选参数。

  • EX seconds:以秒为单位,设置过期时间
  • PX milliseconds:以毫秒为单位,设置过期时间
  • EXAT timestamp:设置以秒为单位的UNIX时间戳所对应的时间为过期时间
  • PXAT milliseconds-timestamp:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间
  • NX:当键不存在的时候,设置键值
  • XX:当键存在的时候,设置键值
  • KEEPTLL:保存设置前指定键的生存时间
  • GET:返回指定键原本的值,若键不存在时返回nil

SET命令使用EXPXNX参数,效果等同于SETEXPSETEXSETNX命令,根据官方文档描述:SETEXPSETEXSETNX命令未来可能会被淘汰。

EXATPXATGET参数为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的值



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



①Redis String 字符串类型【命令汇总】-LMLPHP

11-16 13:42