计算redis key的内存占用情况总结分析:
准备
1、平台centos7
2、工具redis-rdb-tools,sqlite(其他数据库也可以)
安装
两种方式安装
1、使用pip安装
#pip install redis-rdb-tools (阿里源安装不了,直接使用第二种方式)
2、源码安装
#git clone https://github.com/sripathikrishnan/redis-rdb-tools
#cd redis-rdb-tools/
#python setup.py install (python文件使用一个不常用的包,需要安装。)
如果报错——缺少“xxx.h”文件,则安装相应的devel库
运行
1、获取对应redis的rdb文件,使用redis-rdb-tools生成内存快照
#rdb -c memory dump.rdb > memory.csv
注意:内存使用量是理论上的近似值,在一般情况下,略低于实际值
2、把数据导入sqlite库
#sqlite3 db(db为临时的文件,名字随便)
sqlite> 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),time varchar(128));
sqlite>