Redis KEYS 命令 找到所有匹配给定模式的 钥匙

Redis KEYS 命令 找到所有匹配给定模式的 钥匙

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 and hallo, 不匹配 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"

redis>

可用版本>= 1.0.0.

时间复杂度: O(N),假设钥匙的名字不长的情况下,N是数据库中钥匙的总数。

相关推荐

考古札记|| 棉花“考古”
365bet指定开户网址

考古札记|| 棉花“考古”

📅 09-17 👁️ 6029
怎样查询别人的话费余额(怎样查询别人的话费余额和账单中国移动的)
把文件刻到盘里需要多久完成(文件刻成光盘要多久)
365bet指定开户网址

把文件刻到盘里需要多久完成(文件刻成光盘要多久)

📅 07-07 👁️ 7278