Redis big key 分析工具

Redis big key 分析工具

rdb

https://github.com/HDT3213/rdb

实现语言

go

简述

这是一个可以用于二次开发和内存分析的 RDB 文件分析工具,它具备下列能力:

  • 为 RDB 文件生成内存用量报告
  • 将 RDB 文件中键值对数据转换为 JSON 格式
  • 将 RDB 文件转换为 AOF 文件(即 Redis 序列化协议)
  • 寻找 RDB 文件中大键值对
  • 根据 RDB 文件绘制内存火焰图,用来分析哪类键值对占用了最多内存
  • 通过 API 遍历 RDB 文件内容,自定义用途
  • 生成 RDB 文件

rdr

https://github.com/xueqiu/rdr

实现语言

go

简述

RDR(redis data review)是解析redis rdbfile的工具。与redis rdb工具相比,RDR由golang实现,速度更快(5GB rdbfile在我的电脑上大约需要2分钟)。

改版

https://gitee.com/weihongbin/rdr

  • 修改依赖版本,解决编译不通过问题

redis-rdb-tools

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

实现语言

python

简述

Rdbtools 是 Redis 的 dump. rdb 文件的解析器。解析器生成的事件类似于 xml sax 解析器,并且在内存方面非常有效。

此外,rdbtools 还提供了以下实用工具:

  • 跨所有数据库和键生成数据的内存报告

  • 将转储文件转换为 JSON

  • 使用标准 diff 工具比较两个转储文件

改版

https://gitee.com/weihongbin/redis-rdb-tools

  • 支持导出 sqlite3 db 文件
  • 导出 csv key 进行base64, key 包含 , 会导致导入了打开数据错乱,base64 解决该问题