Redis内存分析工具redis-rdb-tools

1、安装redis-rdb-tools(项目地址:githubpython

# git clone https://github.com/sripathikrishnan/redis-rdb-tools
# cd redis-rdb-tools
# python setup.py install (当前用户要有安装权限)mysql

2、获取redis的rdb文件git

一、确保redis的配置文件(redis.conf)开启rdb备份github

二、找到dump.rdb文件redis

3、利用redis-rdb-tools对rdb文件解析成CSV文件(生成一个result.csv),命令:sql

# rdb -c memory dump.rdb > result.csv测试

4、根据不一样条件进行查询--详见github上的 README.mdspa

例如查询某个db的某个key的大小:code

 > redis-memory-for-key -s localhost -p 6379 -a mypassword -d 15 keynameblog

5、有时候key值特别多,能够将CSV文件导入mysql中

一、mysql建表语句

CREATE TABLE `rdb` (
  `DATABASE` int(11) DEFAULT NULL,
  `type` varchar(128) DEFAULT NULL,
  `KEY` varchar(128) DEFAULT NULL,
  `size_in_bytes` int(11) DEFAULT NULL,
  `encoding` varchar(128) DEFAULT NULL,
  `num_elements` int(11) DEFAULT NULL,
  `len_largest_element` varchar(128) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 二、利用navicat等mysql客户端将CSV导入到表中,能够很方便进行查看

 

注意事项:
一、整个rdb文件的解析会致使CPU占用严重,因此慎用!
二、最好选择单键查询的方式,不太消耗资源三、若是须要解析某个rdb文件,最好使用它的备份文件,或者将文件导出到本地或者测试机进行解析

相关文章
相关标签/搜索