前言

目前关于Redis rdb文件解析的工具,目前了解到的主要有python写的 redis-rdb-tools 工具,和用golang写的 rdr 工具。

https://github.com/sripathikrishnan/redis-rdb-tools

https://github.com/xueqiu/rdr

RDR(redis data reveal) is a tool to parse redis rdbfile. Comparing to redis-rdb-tools, RDR is implemented by golang, much faster (5GB rdbfile takes about 2mins on my PC).

rdr这个工具的rdb解析是调用 https://github.com/dongmx/rdb这个库的代码,而这个库的代码是fork github.com/cupcake/rdb这个的,不过cupcake这个库好像从2016年就没有维护了。

而且cupcake也申明了This package was heavily inspired by redis-rdb-tools by Sripathi Krishnan.可见 redis-rdb-tools 还是真大佬啊。

不过rdr工具跟redis-rdb-tools工具相比,解析速度更快些,只是功能没有后者丰富。

关于这两个工具的安装,都可以参考这两个工具的github wiki,还是比较方便简单的。

rdr

使用帮助

NAME:rdr - a tool to parse redis rdbfileUSAGE:rdr [global options] command [command options] [arguments...]VERSION:v0.0.1COMMANDS:dump     dump statistical information of rdbfile to STDOUTshow     show statistical information of rdbfile by webpagekeys     get all keys from rdbfilehelp, h  Shows a list of commands or help for one commandGLOBAL OPTIONS:--help, -h     show help--version, -v  print the version

简单说明

./rdr dump dump.rdb

解析dump.rdb文件,并输出如下内容:

[
{"CurrentInstance": "dump.rdb","LargestKeyPrefixes": {"string": [{"Type": "string","Key": "bbsabbsas","Bytes": 80,"Num": 1}]},"LargestKeys": [{"Key": "bbsabbsas","Bytes": 80,"Type": "string","NumOfElem": 8,"LenOfLargestElem": 0,"FieldOfLargestElem": ""}],"LenLevelCount": {},"TotleBytes": 80,"TotleNum": 1,"TypeBytes": {"string": 80},"TypeNum": {"string": 1}
}
]

LargestKeyPrefixes 表示一类前缀的统计结果,LargestKeys 一般会输出前100个bigkey,还有整体的keys数量和占用bytes。

./rdr show -p 8080 dump.rdb

将dump.rdb文件解析后,通过http的8080端口展示在网页上,更方便解读。

./rdr keys dump.rdb

将dump.rdb文件中的key解析并输出(只有key,没有value)

redis-rdb-tools

usage: usage: rdb [options] /path/to/dump.rdbExample : rdb --command json -k "user.*" /var/redis/6379/dump.rdbpositional arguments:dump_file             RDB Dump file to processoptional arguments:-h, --help            show this help message and exit-c CMD, --command CMDCommand to execute. Valid commands are json, diff,justkeys, justkeyvals, memory and protocol-f FILE, --file FILE  Output file-n DBS, --db DBS      Database Number. Multiple databases can be provided.If not specified, all databases will be included.-k KEYS, --key KEYS   Keys to export. This can be a regular expression-o NOT_KEYS, --not-key NOT_KEYSKeys Not to export. This can be a regular expression-t TYPES, --type TYPESData types to include. Possible values are string,hash, set, sortedset, list. Multiple typees can beprovided. If not specified, all data types will bereturned-b BYTES, --bytes BYTESLimit memory output to keys greater to or equal tothis value (in bytes)-l LARGEST, --largest LARGESTLimit memory output to only the top N keys (by size)-e {raw,print,utf8,base64}, --escape {raw,print,utf8,base64}Escape strings to encoding: raw (default), print,utf8, or base64.-x, --no-expire       With protocol command, remove expiry from all keys-a N, --amend-expire NWith protocol command, add N seconds to key expirytime

这个工具的用法网上有比较多的说明,也比较全面,暂时不做赘述。

Redis RDB文件的解析工具梳理(rdr/redis-rdb-tools)相关推荐

  1. 在线EXCEL文件数据转换解析工具

    在线EXCEL文件数据转换解析工具 在线EXCEL文件数据转换解析工具 本工具支持将EXCEL文件转解析成JSON,CSV,HTML以及公式格式,直接将文件拖入文件上传区即可实时转换, 数据仅在客户端 ...

  2. redis快照文件dump.rdb解析工具--redis-rdb-tools

    解析Redis dump.rdb文件,分析内存并将数据导出到JSON Rdbtools是Redis的dump.rdb文件的解析器.解析器生成类似于xml sax解析器的事件,并且非常有效的内存明智. ...

  3. Redis RDB文件解析

    Redis RDB是什么 Redis rdb是Redis快照存储持久化方式,具体就是将Redis某一时刻的内存数据保存到硬盘的文件当中,默认保存的文件名为dump.rdb,而在Redis服务器启动时, ...

  4. Redis持久化(一)-RDB文件的创建和载入

    RDB文件的创建和载入 概述 RDB文件的创建 RDB文件的管理 RDB文件的载入 RBD文件载入流程(重要!!!) RDB文件载入时的服务器状态 SAVE命令执行时的服务器状态 BGSAVE命令执行 ...

  5. redis源码剖析(十三)—— dump.rdb文件分析

    文章目录 操作方式 查看rdb文件 参考文档 redis作者解释rdb和aof的不同 redisRDB文件格式Sripathi Krishnam redis各个版本变化 操作方式 127.0.0.1: ...

  6. Redis 中的 持久化 RDB持久化 SAVE:阻塞服务器并创建RDB文件 BGSAVE:以非阻塞方式创建RDB文件 通过配置选项自动创建RDB文件

    这里写目录标题 15.1 RDB持久化 15.1.1 SAVE:阻塞服务器并创建RDB文件 其他信息 15.1.2 BGSAVE:以非阻塞方式创建RDB文件 其他信息 15.1.3 通过配置选项自动创 ...

  7. java xml文件解析工具_Xml文件解析工具 - java

    解析Xml文件:就是把Xml文件里面的内容取出来. Xml文件解析工具:一个能解析Xml文件的类,即一个能把Xml文件里面的内容取出来的类. 先给出一个Xml文件(student_infor.xml) ...

  8. Redis线上救命丸:01---误操作AOF、RDB恢复数据

    Redis的flushall/flushdb命令可以做数据清除,对于Redis的开发和运维人员有一定帮助,然而一旦误操作,它的破坏性也是很明显的.怎么才能快速恢复数据,让损失达到最小呢?本文我们将结合 ...

  9. redis.conf配置详细解析

    转载:http://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就 ...

最新文章

  1. linux命令之date
  2. SQLSERVER2000同表数据复制(部分复制)
  3. iview table 自定义列_案例 | iview中Table:拖拽适配列、自定义固定列、合并行
  4. Cloud Native 介绍
  5. Pytorch:数据并行和模型并行,解决训练过程中内存分配不均衡的问题
  6. 明知 | TypeScript 结合 egg.js 基本使用
  7. 内部代码显示苹果iOS 15.5 Beta新增支持外部链接支付
  8. 【iOS开发】更改App图标下方显示的名称
  9. 2017 Material design 第三章第四节《字体与排版》
  10. 白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖(转)...
  11. 可以丢掉SGD和Adam了,新的深度学习优化器Ranger:RAdam + LookAhead强强结合
  12. linux系统双显卡切换显卡驱动,Ubuntu 14.04 安装 Nvidia 私有驱动并进行双显卡切换...
  13. html外联式怎么设置,笔记《三》-html引用css的三种方式-内联,嵌入,外联
  14. 【毕业设计】单片机与NBIOT通信模块 - 单片机 物联网 stm32
  15. 数据库1NF 2NF 3NF范式解释
  16. 腾讯云Elasticsearch集群多可用区容灾实现原理及最佳实践
  17. 万柳少爷背后,大批有钱人正在自媒体上发着横财。
  18. 树莓派的系统安装(简单易入手教程!!!)
  19. 力扣每日一题2022-05-04中等题:找出游戏的获胜者
  20. Css3中align-content,深入理解css中的align-content属性

热门文章

  1. 幸福人生没有捷径可走
  2. 正则表达式 负向前瞻
  3. 和府捞面上海单城破100家店;Gap品牌推出家居产品 | 知消
  4. python中使用yaml作配置文件
  5. IDEA代码提示框的背景颜色修改
  6. oracle12520,一次意外的ORA-12520
  7. 什么是量比(急跌无量是恐吓,缓跌放量赶紧撤)
  8. Socket网络编程(代码实现)
  9. 6种可能让你适得其反的睡眠技巧
  10. vue 美食杰 发布菜谱