一、简述
在Redis实际运行维护和参数优化的时候,往往需要对Redis内存使用情况进行详细地分析,仅依靠Redis的info功能是远远达不到需求的。
为了能够详细地了解到Redis服务中具体的key以及key所占用的空间大小、元素数量、底层编码等信息,我们需要使用第三方工具:redis-rdb-tools。该工具通过解析rdb文件,能够分析出实例内存的详细情况。
二、redis-rdb-tools简介
redis-rdb-tools是开源的工具
Github地址:https://github.com/sripathikrishnan/redis-rdb-tools
功能概览:
- 生成所有数据库和键中数据的内存报告
- 将转储文件转换为JSON
- 比较rdb文件
- 其他
安装:下载源码后,通过python运行setup.py进行安装,过程中可能需要安装其他依赖包。
三、使用
1、实例执行bgsave
2、执行rsync把文件传输到分析专用机(由于rdb解析会消耗一定的内存和cpu,所以不建议在Redis服务器上进行解析)
/usr/bin/rsync -a --bwlimit=66000 --progress --port=883 6379_dump.rdb 1.2.3.4::redis/rdb/
3、对rdb文件进行解析:
rdb -c memory 6379_dump.rdb > redis_memory_report_6379.csv