Redis内存分析工具之redis-rdb-tools的安装与使用
操作系统:Centos7
1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python:
安装:
(1)用 wget 下载 python 2.7 并解压( 如果没有 wget,先用下面命令安装 wget )
yum -y install wget
(2)进入目录 /usr/src 再用 wget 下载 python 2.7
cd /usr/src/
wget http://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
(3)再解压 python2.7
tar -zxvf Python-2.7.15.tgz
(4)安装 python 2.7
进入上面解压的 Python-2.7.15 解压文件中使用下面命令行安装
cd Python-2.7.15
./configure --enable-optimizations
make altinstall
(5)查看Python版本
python -V
可以看到输出 Python 2.7.15 就安装完成
2.使用pip安装rdb-tools
(1)安装依赖
sudo yum install python3-devel
(2)安装python-lzf
sudo pip3 install python-lzf
(3)安装rdbtools
sudo pip3 install rdbtools
3.使用rdb-tools工具分析rdb文件
(1)将rdb文件转成csv文件 (/mnt/data/redis 是存放redis持久化文件的路径)
rdb -c memory /mnt/data/redis/dump.rdb > /mnt/data/redis/memory.csv
可以看到,用工具转化成csv文件后,会划分成8个列,分别是:
database:数据库编号 type:数据类型 key:键 size_in_bytes:使用的内存:包括键,值和任何其他开销 encoding:RDB编码类型 num_elements:key中的value的个数 len_largest_element:key中的value的长度 expiry:过期值
(2)将rdb文件转成json文件
rdb -c json /mnt/data/redis/dump.rdb > /mnt/data/redis/du.json
(3)查找特定键使用的内存
redis-memory-for-key -s IP -p 6379 Key
可以看出特定的key的大小、类型
(5)查看指定数据库中的key:value
rdb -c justkeyvals dump.rdb -n 0 //查看0号数据库中的key
(6)查看通过正则表达式匹配的key:value
rdb --command justkeyvals --key ".*key*" dump.rdb //不要漏掉点 “."
(7) 导出内存字节排名前3的keys:
rdb --command memory --largest 3 dump.rdb
(8)导出字节大于128的key:
rdb --command memory --bytes 128 dump.rdb
(9)导出rdb中的keys:
rdb -c justkeys dump.rdb|uniq
(10)导出rdb中的values:
rdb -c justkeyvals dump.rdb