虚拟机磁盘太小不行,我是20G ,不然安装的时候会空间不足
1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python:
1)安装libffi-devel:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
(2)下载python安装包(Index of /ftp/python/)
wget -P /tmp https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
(3)解压 上传的目录 /usr/local/data/
cd /usr/local/data/
tar -zxvf Python-3.7.3.tgz
4)编译
mkdir /usr/local/python3
cd /usr/local/data/Python-3.7.3
./configure --prefix=/usr/local/python3
make && make install
(5)建立软连接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
6)测试
[root@192 Python-3.7.3]# python3
Python 3.7.3 (default, Mar 16 2022, 22:53:03)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type help, copyright, credits or license for more information.
>>>exit()
ctrl +d 快捷退出
7)查看Python版本
python -V
2.使用pip安装rdb-tools
(1)安装依赖
yum install python3-devel
(2)安装python-lzf
pip3 install python-lzf
3)安装rdbtools
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)导出以“nam”为前缀的key
rdb -c memory --key "nam.*" dump.rdb > memory.csv
(4) 导出以“a”为开头的hash类型且位于数据库ID为5的key
rdb --command json -n 5 --type hash --key "a.*" dump.rdb
5)查找特定键使用的内存
redis-memory-for-key -s IP -p 6379 redisKey
6) 导出内存字节排名前3的keys:
rdb --command memory --largest 3 dump.rdb