admin 管理员组文章数量: 1087677
redis之踩坑【keys命令锁死redis】
郑重其事:线上禁止使用 keys 命令
分析:
- 众所周知,redis是单线程程序(官方做过很多实验,单线程不会降低内存读写效率,因为对于CPU处理内存效率极高),单线程不会因为并发产生数据异常。
- 当redis key非常多时,keys命令的时间耗费会急剧增加。(keys命令的时间复杂度为O(N),N为数据库里面key的数量)
- keys命令使用正则表达式(正则表达式对程序员很重要,可以异步我的正则表达式专栏共同学习)进行key匹配,如果数量过多,会导致CPU飙升。
注:keys命令本身很快,但是key的数量增加到一定程度,量变就会引发质变
解决方案:上线的Redis 禁用Keys命令
禁用方式如下:
第一步:找到redis 配置文件
这个需要根据redis的部署情况而定
第二步:找到配置文件的安全配置区
如下图所示:
It is also possible to completely kill a command by renaming it into an empty string
译:
也可以通过为一个命令重命名为一个空字符串来彻底销毁这个命令。
因此禁用 keys命令的配置为:
rename-command KEYS ""
本文标签: redis之踩坑keys命令锁死redis
版权声明:本文标题:redis之踩坑【keys命令锁死redis】 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1700276543a376057.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论