一、rdbtools作用
rdbtools工具是一款redis rdb数据文件分析工具,相比redis自带的info命令来说,rdbtools可以非常方便的将key的数量、大小等信息进行分析统计
二、安装rdbtools
1、配置epel的yum仓库后,安装python-pip,然后就可以直接使用pip去安装rdbtools了。为了避免rdbtools在分析工作中报WARNING: python-lzf package NOT detected的错误,这里也将lzf包一起安装了
yum install python-devel python-pip
pip install rdbtools
pip install python-lzf
三、rdbtools使用方法
1、rdb工具常用选项
-c FILE:指定rdb工具的分析动作,最常用的就是memory(内存报告),除此还有json(转json)、diff(差异比对)、justkeys(仅有key)、justkeyvals(仅有value)
-f FILE:输出结果保存到哪个文件
-n DBS:指定需要分析的数据库,可以指定多个库。如果未指定则分析所有数据库
-k KEYS:指定需要分析的key,支持正则表达式
2、rdb使用示例
将分析结果保存为csv格式,使用excel分析更方便
rdb -c memory /data/redis_data/dump.rdb -f /tmp/result.csv
解析dump文件并以JSON格式标准输出
rdb -c json /data/redis_data/dump.rdb
只解析符合正则的keys
rdb -c json -k "sences_2.*" /data/redis_data/dump.rdb
解析以“a”开头+hash类型+数据库ID为2的key
rdb --command json --db 2 --type hash --key "a.*" /data/redis_data/dump.rdb
3、rdbtools报告说明
分析结束后的报告文件内容包含了很多列,依次代表了key所属的database编号、key类型、key名称、key大小(单位为字节)。如果要查找占用内存最高的几个key,只需要对分析报告文件过滤排序即可
awk -F, '{print $1,$2,$3,$4}' dump.csv | sort -k4 -rn | head -10