Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis KEYS 命令

Redis 键(Keys) Redis 键(Keys)


查找所有符合指定模式 pattern 的 key。

命令格式

KEYS pattern

可用版本:>=1.0.0

时间复杂度:O(n),n为数据库中key的数量。

虽然该KEYS命令的时间复杂度为O(n),但是它的执行时间还是比较快。例如,在一个入门级的服务器上,40毫秒内可以扫描100万个key。

值得注意的是,KEYS命令在生产环境中使用时,要格外小心。在key大量存在的数据库中,它会严重影响Redis服务的性能。该命令更多是用于调试及特殊的需求,如更换键空间的布局。不要在正常的应用下使用KEYS命令,如果想查找相应模式的key,可以使用SCAN命令或者Sets数据类型。

命令参数

pattern参数表示匹配的模式,支持glob-style的模式:

  • 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。

用\来转义特殊字符。

命令返回值

KEYS命令返回匹配pattern的所有key列表。

示例

redis> MSET firstname Jack lastname Stuntman age 35
OK
redis> KEYS *name*
1) "lastname"
2) "firstname"
redis> KEYS a??
1) "age"
redis> KEYS *
1) "lastname"
2) "firstname"
3) "age"