Redis内存满分析

文章讲述了在Redis中通过dbsize检测到db1存在性能问题,使用redis-rdb-tools进行内存分析,发现分析结果指向database0。尝试使用LLEN和SCAN命令进行进一步排查,但遇到错误和不寻常的游标返回。最终,通过直接查看rdb文件找到大量数据集中在某个key上,揭示了未设置老化时间的代码问题。
摘要由CSDN通过智能技术生成

操作0:

dbsize计算db大小,判断是哪个db的问题,发现是db1的问题。

操作1:

Redis中先备份xxx.rdb文件,然后使用下面的工具进行分析

Redis内存分析工具之redis-rdb-tools的安装与使用_薛定谔的猫io的博客-CSDN博客

结果发现rdb输出的结果是database0,其他的db都没有输出: 

操作2:

redis执行

LLEN(KEYS "prefix:*")   ——————发现用redis desk top redis5.0报错。说什么参数不对
SCAN 0 MATCH prefix:* ——发现这个游标返回很奇怪。

操作3:

执行命令: 

./redis-cli -c -p $port -h $host -a $pwd --bigkeys

发现15亿数据,10小时都没有返回响应。

操作4:

上面操作都不靠谱。

直接vi rdb,才发现非常多的某个key在里面。由此定位到代码中存储key不设置老化时间的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值