redis查看所有key的value值所占内存大小
2019-08-27 本文已影响0人
闲睡猫
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
结果如下:
image