您的位置:首页 > 数据库 > Redis

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

2015-12-12 12:07 555 查看

(一)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中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: