[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[备忘]redis的keys模糊查询,引起的cpu占用高的问题

上一篇:[备忘]安装redis-stat步骤
下一篇:[备忘]java线程池,最大值,满了重试

添加日期:2017/10/12 18:17:17 快速返回   返回列表 阅读3405次
监控发现redis的cpu每隔1秒,会瞬间跳到40%,然后恢复到4%左右。

连接:
redis-cli -a 你的密码 -h localhost -p 6379
redis-cli -a 你的密码 -h localhost -p 6379 monitor 可以监控执行的命令(刷屏)

输入:
SLOWLOG GET 10

localhost:6379> slowlog get 100
  1) 1) (integer) 315212
     2) (integer) 1507800969
     3) (integer) 153436
     4) 1) "KEYS"
        2) "xxx20170920_date_*"
     5) "127.0.0.1:44196"
     6) ""
  2) 1) (integer) 315211
     2) (integer) 1507800965
     3) (integer) 154542
     4) 1) "KEYS"
        2) "xxx20170920_date_*"
     5) "127.0.0.1:44196"
     6) ""

三行数字分别是编号,时间戳,执行时间

单个命令执行150毫秒。

输入:
KEYS xxx20170920_date_*

证实了,正是它引起的。
---------------------------------------------------------------------
keys aaa*

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

从上面开来,keys的模糊匹配功能很方便也很强大,但是在生产环境需要慎用!

开发中使用keys的模糊匹配却发现redis的CPU使用率极高,所以公司的redis生产环境将keys命令禁用了!

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

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved