操作系統: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