redis大key分析工具redis-rdb-tools

      最近1台云Redis的内存曝高,24G的内存占用19G,而且一直增长,想看那些key比较大,腾讯云Redis有大key分析的结果,但是这台没有,估计要找腾讯云的技术刷新一下数据:

      分析大key工具,有个很好的开源工具:redis-rdb-tools

      基于python2,比较好用。

     安装python2:

    yum install gcc libffi-devel python-devel openssl-devel -y

   下载安装:python-lzf
    安装: pip2和setuptools
   下载地址:  https://github.com/sripathikrishnan/redis-rdb-tools
    
   分析redis整体的大key
   rdb -c memory /root/1 --bytes 1024 -f memory.csv
     这里的 /root/1 是下载下来的redis备份文件
   读取Redis当个大key
   rdb --command justkeyvals --key "MarketGroup:combined.activity:group_list:1088" /root/1
 
   分析大key结果:
    

 

  如果要对比

    rdb -c memory /root/1 --bytes 1024 -f dump1.txt

    rdb -c memory /root/2 --bytes 1024 -f dump2.txt

    diff dump1.txt dump2.txt
 
    对比结果:
    
   

 

     分析结束后的报告文件内容包含了很多列,依次代表了key所属的database编号、key类型、key名称、key大小(单位为字节)。

     如果要查找占用内存最高的几个key,只需要对分析报告文件过滤排序即可:

awk -F, '{print $1,$2,$3,$4}' dump.csv | sort -k4 -rn | head -20

  

      总结:  该工具分析redis大key,的确很方便,很实用!

 
 

posted @ 2021-08-25 14:58  zping  阅读(785)  评论(0编辑  收藏  举报