暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Redis rdb文件分析工具之redis-rdb-tools

广西南宁平衡信息技术有限公司 2021-03-23
2484


点击蓝字

关注我们

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

 平衡信息 · 

文章转载自广西南宁平衡信息技术有限公司,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论