Redis中keys命令的使用与带来的性能问题

(一)keys命令的使用

进入redis-cli之后,我们通常比较关心的是有哪些key(ps:当然也可以用其他客户端工具),那么就不得不说keys命令

keys pattern

获取当前库下的所有key

keys *

如下图所示,存在四个key:redis01、redis11、hbase01、hbase11

这里写图片描述

keys支持一下3种类型的通配符:

(1)*,该通配符表示任一长度的字符

如:keys *,匹配数据库中所有 key ;

如:查找以redis开头的所有key

keys redis*

这里写图片描述

(2)?,该通配符表示任一字符

如:查找以hbase开头、第6位为任一字符、以”1”结尾的key

keys hbase?1

这里写图片描述

(3)[],这和正则表示中的[]类似,每次可以配其中任何一个字符。

如:

keys redis[01]1

会匹配”redis01”和”redis11”,“2”不再【01】中,所有”redis21”未能匹配上

这里写图片描述

(二)利用keys的模糊匹配带来的性能问题

从上面开来,keys的模糊匹配功能很方便也很强大,但是在生产环境需要慎用!开发中使用keys的模糊匹配却发现redis的CPU使用率极高,所以公司的redis生产环境将keys命令禁用了!

那怎么解决这种类似的keys模糊匹配问题呢?其中常见的方法就是设置一个set,将需要使用的keys存储在set中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值