如何解析rdb文件

本文介绍了如何使用Python库rdbtools来解析Redis的RDB持久化文件。通过pip安装rdbtools,然后在命令行中运行相关指令进行解析。在解析过程中可能需要额外安装python-lzf依赖。此外,还提到了rdb命令的参数和如何生成内存报告。
部署运行你感兴趣的模型镜像

相信大家也都或多或少的了解些redis,知道他是内存性NoSQL数据库。

那么,疑问也就来了,这种内存型数据库的数据在服务器宕机后,数据还会恢复吗?

答案是会恢复的!因为这种内存型数据库也存在它的持久化机制,下面是redis的RDB-持久化触发条件:

其含义如下:

①900秒内如果至少有1个key的值变化,则保存

②300秒内如果至少有10个key的值变化,则保存

③60秒内如果至少有10000个key的值变化,则保存

实际工作当中有同事让我copy一份redis的dump.rdb文件给他,他要查看数据。

那么rdb文件是如何被解析的呢?使用了什么工具呢?

这里就介绍一下最近了解的一个工具,准确的来说是python的一个库【rdbtools】

一.安装方式:

1.进入到python的相应目录,比如:D:\Python\Python36\Scripts

2.打开cmd命令框

3.输入指令:pip install rdbtools

4.安装完成后在cmd中输入指令:rdb 并观察,若有如下图所示则为安装成功

 二.进行解析:

1.进入到dump.rdb文件所在目录并打开cmd,输入如下指令

rdb --command json dump.rdb > dump.json

执行时会报错:提示需要安装python-lzf依赖

同样进入python的目录,比如:D:\Python\Python36\Scripts,打开cmd并输入:pip3 install python-lzf

再次执行解析rdb的指令即可!下面是转格式后的结果:

2.了解rdb命令的相关参数:

这里借鉴下网友的翻译:

-h, –help #显示此帮助消息并退出;
-c FILE, –command=FILE #指定rdb文件;
-f FILE, –file=FILE #指定导出文件;
-n DBS, –db=DBS #解析指定数据库,如果不指定默认包含所有;
-k KEYS, –key=KEYS #指定需要导出的KEY,可以使用正则表达式;
-o NOT_KEYS, –not-key=NOT_KEYS #指定不需要导出的KEY,可以使用正则表达式;
-t TYPES, –type=TYPES #指定解析的数据类型,可能的值有:string,hash,set,sortedset,list;可以提供多个类型,如果没有指定,所有数据类型都返回;
-b BYTES, –bytes=BYTES #限制输出KEY大大小;
-l LARGEST, –largest=LARGEST #根据大小限制的top key;
-e ESCAPE, –escape=ESCAPE #指定输出编码,默认RAW;

3.生成内存报告

输入入下指令:

rdb -c memory dump.rdb --bytes 128 -f dump_memory.csv

在同级目录下生成文件dump_memory.csv

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值