Redis 檢視所有 key 的 value 值所佔記憶體大小

鍾森龍發表於2019-08-27

redis 雖好,卻是個吃記憶體獸,因此在寫入 redis 資料時,應該避免寫入無用的資料,浪費記憶體。

如果我們要分析哪些 key 佔用了大量的儲存空間,就需要有工具輔助對所有的 value 所點空間進行排序,如此才能有的放矢進行優化

redis-rdb-tools 可以將所有 key 對應的 value 大小用 csv 格式匯出

安裝如下:

$ pip install rdbtools python-lzf
$ git clone https://github.com/sripathikrishnan/redis-rdb-tools
$ cd redis-rdb-tools
$ sudo python setup.py install

接下來找到 redis 的 dump.rdb 位置

首先定位到 redis.conf 位置

$ whereis redis.conf
redis: /etc/redis.conf
$ cat /etc/redis.conf | grep dir | grep redis
dir /var/lib/redis
$ cat /etc/redis.conf | grep dump.rdb
dbfilename dump.rdb

綜上,得知其路徑為:/var/lib/redis/dump.rdb

按記憶體值匯出 csv

$ rdb -c memory /var/lib/redis/dump.rdb > /tmp/redis.csv

結果如下:

相關文章