Redis key分布

当redis内存过大时,如果查看key占用内存情况?如果确定哪些key好久没有被访问?

工作中遇到Redis内存占用90%,如果解决?

1.出现问题

2.下载内存监控工具RDR

linux下载链接:https://github.com/xueqiu/rdr/releases/download/v0.0.1/rdr-linux

windows下载链接:https://github.com/xueqiu/rdr/releases/download/v0.0.1/rdr-windows.exe

 3.RDB文件下载

将下载好的rdr-windows.exe文件与你需要解析的Redis rdbfile放在同一个目录 (运行前需要提前准备好go环境)

然后打开cmd窗口(win+R,输入cmd)进入到rdr-windows.exe目录下,

输入:rdr-windows.exe show  dump.rdb dump1.rdb dump2.rdb

4.效果展示

5.分析

分析big keys,很容易得出结论

从RDR可视化分析中得出某个key开头的占用内存很大,从业务分析是否可以删除,这些key为什么为什么不设置生效时间

6.删除bigkey 

编写脚本删除无用的key

7.根据object idletime 进行删除

该命令用于查看该key上次访问时间

8.前后对比

===============================后续=====================================

没过几天程序报错 OOM command not allowed when used memory > 'maxmemory'

 经百度结果显示redis内存不够,很诧异前几天不是刚清了redis缓存嘛,怎么内存不够了!

 查看每个分片内存占用情况

短期解决方案:短期紧急扩容

长期解决方案:呆解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值