钥匙
语法
KEYS pattern
- 从以下位置开始可用:
- 1.0.0
- 时间复杂度:
- O(N),其中 N 是数据库中的键数,假设数据库中的键名称和给定模式的长度有限。
- ACL 类别:
-
@keyspace,@read,@slow,@dangerous,
返回所有匹配的键pattern.
虽然此作的时间复杂度为 O(N),但常数时间为 相当低。 例如,在入门级笔记本电脑上运行的 Redis 可以扫描 100 万个密钥 数据库。
警告:考虑KEYS作为只应在生产中使用的命令
环境。
当对大型数据库执行时,它可能会破坏性能。
此命令用于调试和特殊作,例如更改
您的 Keyspace 布局。
不要使用KEYS在您的常规应用程序代码中。
如果你正在寻找一种方法来在 keyspace 的子集中查找 key,请考虑
用SCAN或集。
支持的 glob 样式模式:
h?llo比赛hello,hallo和hxlloh*llo比赛hllo和heeeelloh[ae]llo比赛hello和hallo,但不是hilloh[^e]llo比赛hallo,hbllo, ...但不是helloh[a-b]llo比赛hallo和hbllo
如果要逐字匹配特殊字符,则用于转义它们。\
使用 Redis Cluster 时,搜索针对暗示单个槽的模式进行了优化。
如果一个 pattern 只能匹配一个 slot 的 key,
Redis 只迭代该 slot 中的键,而不是整个数据库。
搜索与模式匹配的键时。
例如,使用{a}h*llo时,Redis 只会尝试将其与插槽 15495 中的键匹配,该哈希标签{a}意味 着。
要将 pattern 与哈希标签一起使用,请参阅集群规范中的哈希标签了解更多信息。