Redis KEYS 命令用于查找所有匹配给定模式 pattern 的 key 。
尽管这个操作的时间复杂度是 O(N),但是常量时间相当小。
例如,在一个普通笔记本上跑 Redis,扫描 100 万个 key 只要40毫秒。
Warning: 生产环境使用 KEYS 命令需要非常小心。在大的数据库上执行命令会影响性能。
这个命令适合用来调试和特殊操作,像改变键空间布局。
不要在你的代码中使用 KEYS 。如果你需要一个寻找键空间中的key子集,考虑使用 SCAN 或 sets。
匹配模式:
h?llo
匹配hello
,hallo
和hxllo
h*llo
匹配hllo
和heeeello
h[ae]llo
匹配hello
andhallo,
不匹配hillo
h[^e]llo
匹配hallo
,hbllo
, ... 不匹配hello
h[a-b]llo
匹配hallo
和hbllo
使用 \
转义你想匹配的特殊字符。
*语法
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) "firstname" 2) "lastname"# 查找以 a 为开头长度为 3 的 key redis> KEYS a??
1) "age"# redis 获取所有的 key 使用 *。 redis> KEYS *
1) "firstname" 2) "age" 3) "lastname"