钥匙

语法
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,hallohxllo
  • h*llo比赛hlloheeeello
  • h[ae]llo比赛hellohallo,但不是hillo
  • h[^e]llo比赛hallo,hbllo, ...但不是hello
  • h[a-b]llo比赛hallohbllo

如果要逐字匹配特殊字符,则用于转义它们。\

使用 Redis Cluster 时,搜索针对暗示单个槽的模式进行了优化。 如果一个 pattern 只能匹配一个 slot 的 key, Redis 只迭代该 slot 中的键,而不是整个数据库。 搜索与模式匹配的键时。 例如,使用{a}h*llo时,Redis 只会尝试将其与插槽 15495 中的键匹配,该哈希标签{a}意味 着。 要将 pattern 与哈希标签一起使用,请参阅集群规范中的哈希标签了解更多信息。

例子

MSET 名字 Jack 姓氏 特技演员 年龄 35 KEYS 名称 钥匙 a?? 钥匙*

RESP2/RESP3 回复

Array reply:匹配 pattern 的键列表。
为本页评分
返回顶部 ↑