Redis内存分析工具之redis-rdb-tools的安装与使用
Redis内存分析工具之redis-rdb-tools的安装与使用
·
操作系统:Centos7
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安装包(https://www.python.org/ftp/python/)
wget -P /tmp https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
(3)解压
mkdir -p /opt/python3
tar -zxvf /tmp/Python-3.7.3.tgz -C /opt/python3
(4)编译
mkdir /usr/local/python3
cd /opt/python3/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)安装依赖
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)导出以“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 Key
可以看出特定的key的大小、类型
(6)查看指定数据库中的key:value
rdb -c justkeyvals dump.rdb -n 0 //查看0号数据库中的key
(7)查看通过正则表达式匹配的key:value
rdb --command justkeyvals --key ".*key*" dump.rdb //不要漏掉点 “."
(8) 导出内存字节排名前3的keys:
rdb --command memory --largest 3 dump.rdb
(9)导出字节大于128的key:
rdb --command memory --bytes 128 dump.rdb
(10)导出rdb中的keys:
rdb -c justkeys dump.rdb|uniq
(11)导出rdb中的values:
rdb -c justkeyvals dump.rdb
(12)导出不包括以“a”为前缀的key
rdb -c memory -o "a.*" dump.rdb
更多推荐
已为社区贡献5条内容
所有评论(0)