目前 Redis 内存占用过大,如何分析出大 Key?
关于 Redis RDB 文件解析的工具,目前了解到的主要有下面两款:
- Python 写的 redis-rdb-tools 工具
- Go 写的 rdr 工具
redis-rdb-tools
号称比 redis-rdb-tools
速度更快,这里我找了一张对比图:
官方文档:https://github.com/xueqiu/rdr 。
在本地 Mac 下载 rdr 工具:https://github.com/xueqiu/rdr/releases/download/v0.0.1/rdr-darwin 。然后执行:
chmod +x rdr-darwin
mv rdr-darwin rdr
1、show 格式:可视化网页。
./rdr show -p 8080 dump.rdb
浏览器访问 http://127.0.0.1:8080 ,效果如下:
拿线上的 RDB 文件分析一下,效果如下:
2、dump 格式测试:json 信息。
./rdr dump dump.rdb
json 信息中包含了:类型、Key 名字、大小、包含多少 Key。
3、keys 格式测试:所有 Key。
./rdr keys dump.rdb