点击蓝字
关注我们
Redis rdb文件分析工具之redis-rdb-tools
通过之前分享的文章中,我们对关于内存数据库Redis——RDB 持久化基本概念有了初步的认识,因此,今天这篇文章通过使用一款工具——redis-rdb-tools更深入解析redis rdb文件。
系统环境:Linux centos7
工具准备:pip命令
一、介绍
redis-rdb-tools 是一个 python 的解析 rdb 文件的工具,它主要有以下三个功能:
.把rdb快照文件生成json文件
.使用标准的diff工具比较两个dump文件不同。
.可以生成内存报告,以报表用来分析Redis的使用详情
二、安装
#安装pip命令
yum install python-pip -y
#安装redis-rdb-tools
pip install rdbtools
三、操作
1、准备工作:使用bgsave命令生成rdb文件
Redis Save 命令是redis用于在后台进行异步快照操作,能够将当前数据库的数据到磁盘。进入redis数据库后,执行BGSAVE 命令,会立即返回“Background saving started”,RDB的持久化过程有新子进程负责,子进程将数据保存完成后才会退出。RDB文件默认保存至安装路径下,文件名默认为“dump.rdb”
注意:redis会因新子进程加倍占用内存,例如目前redis占用内存为4G,出现新进程后,redis占用内存达到8G,所以在备份数据库时需要考虑物理机内存大小,防止在备份时导致redis服务挂掉。
2、功能演示
.转化rdb文件成json格式
rdb --command json dump.rdb >dump.json
通过该命令将rdb文件转成json格式,便于后续将json格式的数据进行清洗, 整理成其他如表格的形式。
注意:若提示pip install python-lzf则按提示使用该命令进行安装python-lzf工具包。
.使用diff工具比较两个dump文件的不同
rdb --command diff dump1.rdb| sort > dump1.txt
rdb --command diff dump2.rdb| sort > dump2.txt
diff dump1.txt dump2.txt
使用bgsave生成dump1.rdb,dump2.rdb文件,使用Diff命令比较两个文件,并将不同行列出来。
.生成内存报告,分析Redis的使用详情
rdbtools工具支持生成关于rdb文件的内存报告,该报告为CSV格式,包含数据库ID,数据类型,key,内存使用量(byte)。导出CSV格式格式后,可以将CSV导入mysql,利用SQL语句对CSV中内容进行分析,可以根据key或数据库ID或数据类型对报告的内容进行过滤,利于分析Redis的全部内存数据。
rdb -c memory dump.rdb> dump.csv
电话|0771-4829118
官方网站|www.平衡信息.com
平衡信息 ·