博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis keys命令之领悟
阅读量:7153 次
发布时间:2019-06-29

本文共 741 字,大约阅读时间需要 2 分钟。

hot3.png

昨晚我们工程的redis告警,cpu占用率100%,运营人员把我们刚上线的工程给停了,后来排查是因为我们工程中使用了redis的keys命令,导致cpu占用率100%,还导致了其他系统连不上,多么痛的领悟。

根据官网对keys命令的解释发现,It may ruin performance when it is executed against large databases. This command is intended for debugging and special operations, such as changing your keyspace layout. Don't use  in your regular application code.

原文请见 http://redis.io/commands/keys

redis官网文档都说如果数据量大了,用keys命令会带来毁灭性灾难。

解决方法:

把要查询的这些redis的keys,以map的形式作为value组成一条记录放到redis中。如果这个集合中的有记录新增或者删除,用

cRedisTemplate.opsForHash().put("nationalGrid:task", taskno + ":" + mac, json);

或者

cRedisTemplate.opsForHash().delete("nationalGrid:task", tasknomac);

来刷新新增记录的value值。

参考文章:http://www.tuicool.com/articles/JrmYVzA

转载于:https://my.oschina.net/friendship/blog/726474

你可能感兴趣的文章
How to make a combo box with fulltext search autocomplete support?
查看>>
大数据的三个入口
查看>>
Oracle 11g 客户端 下载地址
查看>>
算法生成卐和卍字图
查看>>
java模拟异步消息的发送与回调
查看>>
void指针
查看>>
IOS--UIActivityIndicatorView的使用方法详细
查看>>
Linux共享内存(二)
查看>>
linux网络流量实时监控工具之iptraf
查看>>
linux命令
查看>>
从简单类型到复杂类型的参数传递用例,以及传递简单string类型的解决办法
查看>>
递归函数时间复杂度分析
查看>>
ostringstream的使用方法
查看>>
Xcode把应用程序打包成ipa
查看>>
使用oschina的git服务器
查看>>
Unity插件之NGUI学习(6)—— 关于Widget怎样加入触发事件(触发OnClick)
查看>>
laravel里面的一些变量
查看>>
Oracle用户、权限、角色管理
查看>>
AutoMapper使用手册(一)
查看>>
基本类型赋值转换规则表
查看>>