rdbtools 工具使用(redis内存分析)

1、安装

不要使用python3,用centos自带的python2版本,我使用Python3安装有问题。

yum install python-devel
pip install python-lzf

 

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

 

 

2、解析rdb文件到memory.csv

rdb -c memory dump.rdb > memory.csv

 

 

3、使用sqlite3分析

#使用sqlite3 打开csv文件
sqlite3 memory.db
create table memory(database int,type varchar(128),key varchar(128),size_in_bytes int,encoding varchar(128),num_elements int,len_largest_element varchar(128));
修正为这个SQL,不然会报错少一列
create table memory(database int,type varchar(128),key varchar(128),size_in_bytes int,encoding varchar(128),num_elements int,len_largest_element varchar(128),other varchar(128));
.mode csv

 


查询key总数:
sqlite> select count(*) from memory;
17876

查询key总占用内存:
sqlite> select sum(size_in_bytes) from memory;
405615250
sqlite> select sum(size_in_bytes)/1024/1024 from memory;
386

查询内容占用最高的几个key:
select database,key,size_in_bytes from memory order by size_in_bytes desc limit 10;

 

posted on 2022-10-09 18:40  柴米油盐酱醋  阅读(301)  评论(0编辑  收藏  举报

导航