Redis KEYS 命令

Redis KEYS 命令

返回 Redis键(keys)


Redis Keys 命令用于查找所有符合给定模式 pattern 的 key 。

语法

redis KEYS 命令基本语法如下:

redis 127.0.0.1:6379> KEYS PATTERN

可用版本

>= 1.0.0

返回值

符合给定模式的 key 列表 (数组——Array)。

示例

首先创建一些 key,并赋上对应值:

redis 127.0.0.1:6379> SET jiyik1 redis
OK
redis 127.0.0.1:6379> SET jiyik2 mysql
OK
redis 127.0.0.1:6379> SET jiyik3 mongodb
OK

查找以 jiyik 为开头的 key:

redis 127.0.0.1:6379> KEYS jiyik*
1) "jiyik3"
2) "jiyik1"
3) "jiyik2"

获取 redis 中所有的 key 可用使用 *

redis 127.0.0.1:6379> KEYS `*`
1) "jiyik3"
2) "jiyik2"
3) "jiyik1"

注意事项


生产环境使用 KEYS 命令需要非常小心。在大的数据库上执行命令会影响性能。

这个命令适合用来调试和特殊操作,像改变键空间布局。

不要在代码中使用 KEYS 。如果需要一个寻找键空间中的key子集,考虑使用 SCANSETS

匹配模式

  • h?llo 匹配 hello, hallo 和 hxllo
  • h*llo 匹配 hllo 和 heeeello
  • h[ae]llo 匹配 hello and hallo, 不匹配 hillo
  • h[^e]llo 匹配 hallo, hbllo, ... 不匹配 hello
  • h[a-b]llo 匹配 hallo 和 hbllo

使用 \ 转义你想匹配的特殊字符

上面的匹配模式用到的是正则表达式,本站提供了正则表达式的详细教程

时间复杂度


KEYS命令的时间复杂度为:O(N) 其中N为数据库中key的个数,这里有一个假定的前提是key的长度是有限的。

返回 Redis键(keys)

查看笔记

扫码一下
查看教程更方便