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文件,最好使用它的備份文件,或者將文件導出到本地或者測試機進行解析

相關文章
相關標籤/搜索