keys 命令

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

例如,Redis在一个有1百万个key的数据库里面执行一次查询需要的时间是40毫秒。 KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 KEYS,你最好还是用 Redis 的集合结构 SETS 来代替。

语法

KEYS pattern

pattern 正则表达模式:

  • * :匹配数据库中所有 key。
  • h?llo :匹配 hello, hallo 和 hxllo。
  • h*llo :匹配 hllo 和 heeeello。
  • h[ae]llo :匹配 hello 和 hallo,但是不匹配 hillo。
  • h[^e]llo :匹配 hallo, hbllo,…但是不匹配 hello。
  • h[a-b]llo :匹配 hallo 和 hbllo。
  • \ :匹配字符本身,表示非正则字符。如 \[ ,匹配字符 [ ,而非正则表达式。

返回值

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

实例

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

redis> SET w3c1 redis
OK

redis> SET w3c2 mysql
OK

redis> SET w3c3 mongodb
OK

查找以 w3c 为开头的 key:

redis> KEYS w3c*
1) "w3c3"
2) "w3c1"
3) "w3c2"

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

redis> KEYS *
1) "w3c3"
2) "w3c1"
3) "w3c2"

下篇: exists 命令