KEYS pattern

Redis KEYS 命令用于查找所有匹配给定模式 pattern 的 key 。

尽管这个操作的时间复杂度是 O(N),但是常量时间相当小。

例如,在一个普通笔记本上跑 Redis,扫描 100 万个 key 只要40毫秒。

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

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

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

匹配模式:

  • h?llo 匹配 hello, hallohxllo
  • h*llo 匹配 hlloheeeello
  • h[ae]llo 匹配 hello and hallo, 不匹配 hillo
  • h[^e]llo 匹配 hallo, hbllo, ... 不匹配 hello
  • h[a-b]llo 匹配 hallohbllo

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

*语法

redis KEYS 命令基本语法如下:

redis 127.0.0.1:6379> KEYS PATTERN

*返回值

数组: 以数组的形式返回匹配模式 pattern 的 key 的列表。

*例子

# 创建一些 key 并赋值 redis>  MSET firstname Jack lastname Stuntman age 35
"OK"
# 查找含有 name 的 key redis>  KEYS *name*
1) "lastname"
2) "firstname"
# 查找以 a 为开头长度为 3 的 key redis>  KEYS a??
1) "age"
# redis 获取所有的 key 使用 *。 redis>  KEYS *
1) "age"
2) "lastname"
3) "firstname"
redis>