操作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不设置老化时间的问题