• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

使用rdbtools工具分析Redis内存数据

Redis 彭东稳 7年前 (2017-03-07) 28032次浏览 已收录 0个评论

一、介绍

解析redis的dump.rdb文件,分析内存,以JSON格式导出数据。提供的功能有:

1. 生成内存报告。

2. 转储文件到JSON。

3. 使用标准的diff工具比较两个dump文件。

Rdbtools是以python语言开发的。

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

安装

1. 最好使用python2.7版本(CentOS7)。

2. redis-py可选,只运行在测试用例下。

语法:

三、转换dump文件到JSON

只解析符合正则的keys

只解析以“a”为开头的hash且位于数据库ID为2的

四、生成内存报告

生成CSV格式的内存报告。包含的列有:数据库ID,数据类型,key,内存使用量(byte),编码。内存使用量包含key、value和其他值。

注意:内存使用量是近似的。在一般情况下,略低于实际值。可以根据key或数据库ID或数据类型对报告的内容进行过滤。

内存报告有助于检测是否是应用程序逻辑导致的内存泄露,也有助于优化reids内存使用情况。

单个key所使用的内存量

有时候,需要查询某个key所使用的内存。如果全部导出来在查找将是很愚蠢且耗时的。对于这种情景,可以使用redis-memory-for-key命令。

redis-memory-for-key需要依赖redis-py包。

语法

六、比较RDB文件

使用--command diff选项,并通过管道来进行排序。

使用 kdiff3 工具来进行比较,kdiff3 是图形化的工具,比较直观。kdiff3 工具比较两个或三个输入文件或目录。

安装 kdiff3(需要 epel 源)

PS:rdbtools 还有很多其他功能,具体看官网即可。

<延伸>

https://github.com/xaecbd/RCT

http://trumandu.github.io/categories/redis/


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (3)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!