您的位置:首页 > 数据库 > Redis

Redis内存分析工具

2015-12-25 00:00 477 查看
摘要: Redis内存分析工具RdbTools使用

RdbTools是一个由于分析Redis dump.rdb文件的工具,有以下功能:

生成所有数据库和key的内存分析报告

把dump文件转换成JSON文件

用标准的diff工具比较2个dump文件

安装rdbtools

通过pip安装

pip install rdbtools

源码安装

git clone https://github.com/sripathikrishnan/redis-rdb-tools cd redis-rdb-tools
sudo python setup.py install

命令一览:

[root@virt]# rdb --help
Usage: rdb [options] /path/to/dump.rdb

Example : rdb --command json -k "user.*" /var/redis/6379/dump.rdb

Options:
-h, --help		show this help message and exit
-c FILE, --command=FILE Command to execute. Valid commands are json, diff, 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
-t TYPES, --type=TYPES
Data types to include. Possible values are string,
hash, set, sortedset, list. Multiple typees can be
provided.  If not specified, all
data types will be returned

dump文件转json

解析dump文件并通过标准输出JSON:

rdb --command json /var/redis/6379/dump.rdb

只处理某些key(支持正则表达式):

rdb --command json --key "user.*" /var/redis/6379/dump.rdb

只处理已a开始在db2的hash结构:

rdb --command json --db 2 --type hash --key "a.*" /var/redis/6379/dump.rdb

生成内存分析报告

使用
-c memory
命令生成每个key内存使用量的csv报告

rdb -c memory /var/redis/6379/dump.rdb > memory.csv

生成的csv格式如下:数据库编号,数据类型,key名,字节表示的内存使用量和编码。
内存使用量包括key,value和其他杂项。
注意内存使用量是预估的。通常实际内存使用量会比报告中要高。

内存报告可以帮助我们找到应用程序逻辑造成的内存泄漏,也可以帮助我们优化redis内存使用。

找到某个key的内存使用

redis-memory-for-key person:1

redis-memory-for-key -s localhost -p 6379 -a mypassword person:1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Redis RdbTools