Redis

redis内存使用情况 分析redis中Object的内存使用情况

线上一个redis服务,近来会出现内存爆表的现象——超过了设置的最大可用内存,结果导致写入失败。而这个最大可用内存,绝大多数情况是够的。所以研究了下如何查看redis中Object的内存使用情况。总结步奏如下:

      1、用keys * 打印出所有key:

echo -e "KEYS *\n" | redis-cli -p 6379 > keys.redis

      2、用debug object命令,打印信息,其中的serializedlength就是object的大小

      3、对生成结果进行排序,查看内存使用大的key(这边列出前面100个):

cat keysize.redis | sort -nr -k 2 | head -n 100

      博客对引号的处理不是太好,如果发生命令不能执行的情况,请理解思想,自行翻译:)