KEYS
返回与模式匹配的所有键名称。
语法
KEYS pattern
引入版本:1.0.0
复杂度摘要:O(N)
[!NOTE] 此命令的行为在集群 Redis 环境中有所不同。请参阅 多键操作 页面了解更多信息。
返回与 pattern 匹配的所有键。
必需参数
pattern
用于匹配键名称的 glob 样式模式。
详细说明
虽然此操作的时间复杂度为 O(N),但常数时间相当低。例如,在入门级笔记本电脑上运行的 Redis 可以在 40 毫秒内扫描 100 万个键数据库。
[!警告] 在生产环境中使用此命令时要格外小心。当针对大型数据库执行时,它可能会破坏性能。此命令用于调试和特殊操作,例如更改键空间布局。不要在常规应用程序代码中使用
KEYS。如果您正在寻找一种在键空间子集中查找键的方法,请考虑使用SCAN或 套。
支持的 glob 样式模式:
h?llo与hello、hallo和hxllo匹配h*llo与hllo和heeeello匹配h[ae]llo匹配hello和hallo,,但不匹配hilloh[^e]llo匹配hallo、hbllo...,但不匹配helloh[a-b]llo与hallo和hbllo匹配
如果要逐字匹配特殊字符,请使用 \ 转义特殊字符。
使用 Redis集群 时,搜索针对暗示单个槽的模式进行了优化。如果一种模式只能匹配一个槽的键,则在搜索与该模式匹配的键时,Redis 只会迭代该槽中的键,而不是整个数据库。例如,对于模式 {a}h*llo,Redis 只会尝试将其与槽 15495 中的键进行匹配,这也是哈希标签 {a} 所暗示的。要将模式与哈希标签一起使用,请参阅集群规范中的 哈希标签 以获取更多信息。
示例
> MSET firstname Jack lastname Stuntman age 35
OK
> KEYS *name*
1) "lastname"
2) "firstname"
> KEYS a??
1) "age"
> KEYS *
1) "age"
2) "lastname"
3) "firstname"
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ✅ 标准 |
✅ 标准 |
返回值
RESP2
数组回复:与 图案 匹配的键列表。
RESP3
数组回复:与 图案 匹配的键列表。
资料来源:Redis 官方 KEYS 文档;中文内容参考 Redis 文档许可。