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

被折叠的 条评论
为什么被折叠?



