使用keys命令来查询redis里面包含哪些key

可以使用redis的keys命令来查看当前redis中存在哪些key。keys命令允许使用通配符对key进行筛选。keys 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 key ,你最好还是用 Redis 的集合结构(set)来代替。

可以使用redis的keys命令来查看当前redis中存在哪些key。keys命令允许使用通配符对key进行筛选。下面是keys命令的语法:

keys pattern

查找所有符合给定模式 pattern 的 key 。

keys的模式支持下面通配符:

  • *通配符。该通配符表示所有的意思。如:keys * 匹配数据库中所有 key 。

  • ?通配符。表示一个任意字符。如:keys h?llo 命令匹配 hello , hallo 和 hxllo 等。

  • *通配符。表示任何字符。如:keys h*llo 表示任何一h开头,llo结尾的key,如匹配 hllo 和 heeeeello 等。

  • []通配符。这和正则表示中的[]类似,每次可以配其中任何一个字符。如:keys h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo,因为i不在[ae]中 。

注意:和使用正则表达式类似,如果key中包含特殊符号,则需要进行转义,即用\隔开。

keys的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题(如果这个数据库中存在上百万的key,此时就非常消耗性能),如果你需要从一个数据集中查找特定的 key ,你最好还是用 Redis 的集合结构(set)来代替。

可用版本:

1.0.0版本及以上版本

时间复杂度:

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

返回值:

符合给定模式的 key 列表。

实例:

# 使用mset命令,一次设置 4 个 key。分别是one=1,two=2,three=3,four=4
redis> mset one 1 two 2 three 3 four 4  
OK

# 和四条set命令是同样的效果
redis> set one 1 
OK
redis> set two 2
OK
redis> set three 3 
OK
redis> set four 4  
OK

# 使用keys命令找出key中包含‘o’字符的key
redis> keys *o*
1) "four"
2) "two"
3) "one"

# 使用keys命令找出以t开头且后面存在两个任意字符的key
redis> keys t??
1) "two"

# 使用keys命令找出以tw开头的所有key
redis> keys t[w]*
1) "two"

# 使用keys命令匹配数据库内的所有key
redis> keys *
1) "four"
2) "three"
3) "two"
4) "one"

到这里,你应该会使用keys命令了吧!是不是很简单………………

成熟不是人的心变老,而是泪在眼眶里打转还能微笑。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号