Redis爆了?快速定位Redis占用最高的key有哪些
1.首先cp一份dump.rdb到另外的目录(一般redis的持久化以rdb的方式存储,在redis配置文件可以找到dump.rdb的存储路径) 2.用rdbtools工具生产内存报告,命令是 rdb -c memory,例子: sudo rdb -c memory /vagrant/dump.rdb >test.csv (rdb文件越大,生成时间就長久) 3.报告生成后,结合用linux sort命令排序,根据內存列排序,找出最高的key有哪些。例子: sudo sort -k4nr -t , test.csv > sort.txt 4.查看sort.txt的结果,一般能得出类似‘my_ranking_list’开头的集合占用最高,排在了前面。若要查看类似‘my_ranking_list’开头的总共占用了多少内存,可以用命令: sudo cat sort.txt | grep ‘my_ranking_list’ | awk -F ',' '{sum += $4};END {print sum}' 5.我们得知了my_ranking_list这样的集合占用最多内存,而且很可能是业务已经不再需要,但是长期在内存中没清理的,我们可以删除了这些集合,可以用模糊匹配key来删除,命令如下: redis-cli -h 127.0.0.1 -p 6379 keys 'my_ranking