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
結果如下: