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;
标签:varchar,int,redis,rdbtools,内存,key,memory,128,size From: https://www.cnblogs.com/nanxiang/p/16773258.html