Redis——常见通用命令
·
目录
keys
作用:
查寻已经存在的键值对的key
命令介绍:
keys [pattern]
pattern是一个类似于正则表达式的模式串,只有和pattern匹配的key才能被显示,下面是paterrn的几种特殊字符的含义:
h?llo :?表示任意单个字符(不会匹配0个),例如 hello , hallo 和 hxllo
h*llo :* 表示0个或者若干个。例如hllo 和 heeeello
h[ae]llo :[x1x2...] 表示匹配括号中的某个字符。例如hello 和 hallo 但不匹配 hillo
h[^e]llo : ^x 表示匹配一个非x的字符(不会匹配0个)。匹配 hallo , hbllo 但不匹配 hello
h[a-b]llo :[x-y]表示匹配x-y里面的某个字符。配 hallo 和 hbllo
注意:
keys时间复杂度是n,而Redis是单线程执行命令,所以工作中绝对不要keys * ,否则就会阻塞Redis很久
scan(渐进式遍历)
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]
cursor:一个字符串,表示从哪里开始遍历key,“0”表示从头开始。注意,这个不是下标0,1,2,3,3不一定就是第四个没遍历过的元素,cursor是redis内部使用的标识符,和下标没有任何关系,每次scan的输出第一行都会告诉我们下一次遍历的cursor应该指定多少,我们以这个为准
[MATCH pattern]:和keys命令中的pattern作用一样,都是匹配指定类型的key
[COUNT count]:表示建议redis这次要遍历几个KEY(不是拿取,只要遍历过就算),注意,是建议,redis实际遍历的key可能少一点或者多一点。默认是10
[TYPE type]:表示要遍历存放哪种类型value的key
注意:
- 如果遍历过程中key被修改,那就可能出现类似于迭代器失效的后果,可能会重读遍历、遗漏一些key。
- redis的scan过程不会在服务器中保存任何状态
exists
作用:
一次性判断若干个键值对是否存在,返回判断成功并且确实存在的键值对个数
命令介绍:
Exists key1 key2 ... ...
注意:
Exists执行查询一次的时间复杂度是O(1)
del
作用:
删除若干个键值对,返回成功删除的个数
命令介绍:
del key1 key2... ...
expire / pexpire
作用:
按照秒/毫秒为单位给键值对设置过期时间,到期自动删除
命令介绍:
expire [键值] [时间]//秒为单位
pexpire [键值] [时间]//毫秒为单位
ttl/pttl
作用:
按照秒/毫秒为单位查询键值对的过期时间
命令介绍:
ttl [键值] //秒为单位查询某key的过期时间
pttl [键值] //毫秒为单位查询某key的过期时间
type
作用:显示key对应的value类型
命令介绍:
type [键值]
object encoding
作用:查看一个key对应的value的实际编码方式(而非表面上的数据类型)
命令介绍:
object encoding [键值]更多推荐



所有评论(0)