redis查询key的内存大小

通过redis-rdb-tools工具进行查询。

1、环境:centos7.x、python2.7.7


查询python版本:python -V


2、安装pip:


下载:wget https://bootstrap.pypa.io/get-pip.py

安装:python get-pip.py

查询版本:pip  -V


3、安装redis-rdb-tools


下载:wget https://github.com/sripathikrishnan/redis-rdb-tools/archive/master.zip

解压:unzip master.zip

进入解压目录:cd redis-rdb-tools

安装:python setup.py install

或者直接使用pip安装:pip install rdbtools


4、查询redis配置


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

rdbcompression yes

dbfilename dump.rdb

2、找到备份文件

dump.rdb

6、利用rdb-tools进行分析


查看分析结果:rdb -c memory dump.rdb

    -l:使用该操作指定占用空间最大的key个数

eg:rdb -c memory -l 5 dump.rdb:显示占空间最大的前5个key


7、生成文件


rdb -c memory dump.rdb > result.csv

警告可以忽略

下载csv文件进行查阅。

也可以将文件导入到数据库通过数据库进行查看。

以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;


附录:

redis-rdb-tools工具github地址:https://github.com/sripathikrishnan/redis-rdb-tools#generate-memory-report;

参考博文:https://blog.csdn.net/zhanghan18333611647/article/details/81268521;

https://blog.csdn.net/qmhball/article/details/86063466;

https://blog.csdn.net/qq_36261140/article/details/88417403;

你可能感兴趣的:(redis查询key的内存大小)