Redis KEYS命令

Redis KEYS命令教程

Redis KEYS 命令用于查找 Redis 中所有符合给定模式 pattern 的 KEY

Redis KEYS命令详解

语法

192.168.98.70:6379> KEYS pattern

参数

参数 描述
pattern 要匹配的键的模式。

pattern模式

模式 描述
KEYS * 匹配数据库中所有 KEYS 。
KEYS h?ike 匹配 haike , hbike 和 hxike 等。
KEYS h*ike 匹配 hike ,haike 和 haaaaaaaike 等。
KEYS h[abc]ike 匹配 haike ,hbike 和 hcike,但不匹配 hike 。

返回值

符合给定模式的 KEY 列表。

时间复杂度

O(N), N 为数据库中 KEY 的数量。

可用版本

>= 1.0.0

案例

匹配含某个字符的KEY

使用 * 号匹配符,表示匹配 0 个或者多个字符

# 批量设置值 192.168.98.70:6379> MSET one 1 two 2 three 3 four 4 OK # 匹配所有带 o 的 KEY 192.168.98.70:6379> KEYS *o* 1) "four" 2) "two" 3) "one" 192.168.98.70:6379> DEL one two three four (integer) 4

使用 **MSET **命令 批量设置键和值。* 表示匹配 0 个或者多个字符,所以 o 表示匹配所有带 o 的 KEY。

匹配指定个数字符

使用 ? 号匹配符,表示匹配单个字符

# 批量设置值 192.168.98.70:6379> MSET one 1 two 2 three 3 four 4 OK # 匹配以 t 开始,并且后面接两个字符的 KEY 192.168.98.70:6379> KEYS t?? 1) "two" 192.168.98.70:6379> DEL one two three four (integer) 4

我们首先,使用 MSET 命令批量设置键和值。接着,因为 ? 表示匹配一个字符, 两个 ? 表示匹配两个字符, 所以 t?? 表示匹配以 t 开始,并且后面是两个字符的KEY,这里只有 two 符号要求,因此只返回了 two。

匹配指定字符

使用 [] 号匹配符,表示匹配指定字符

# 批量设置值 192.168.98.70:6379> MSET one 1 two 2 three 3 four 4 OK # 匹配以 t 开始,后面是 w 或者 h 字母,再后面有 0 个或者多个字符的 KEYS 192.168.98.70:6379> KEYS t[wh]* 1) "two" 2) "three" 192.168.98.70:6379> DEL one two three four (integer) 4

首先,我们使用了 MSET 命令批量设置键和值。因为,[] 表示匹配所有 [] 里面的字符,所以 t[wh] 表示匹配首字母是 t 并且后面接着是 w 或者是 h 的 KEY,因此返回了 two 和 three。

匹配所有KEY

单独使用 * 表示匹配所有键

# 批量设置值 192.168.98.70:6379> MSET one 1 two 2 three 3 four 4 OK # 匹配数据库内所有 KEYS 192.168.98.70:6379> KEYS * 1) "four" 2) "three" 3) "two" 4) "one" 192.168.98.70:6379> DEL one two three four (integer) 4

使用 MSET 命令批量设置键和值。最后,我们使用了 KEYS * 命令,来匹配所有键。

Redis KEYS命令总结

Redis KEYS 命令用于查找 Redis 中所有符合给定模式 pattern 的 KEY 。Redis KEYS 命令语法:

192.168.98.70:6379> KEYS pattern