redis内存占用分析,可视化查看redis数据内存占用大的key

需求来源:

客户现场redis内存飙升,由于无法远程连接客户现场环境,进而分析redis的内存中占用较大的key,无法进行问题精确定位,所以需要一个组件或者方法来查看redis内存占用大的key的列表,进而定位问题

解决方案:

依赖:

redis持久化的rdb文件,以及开源的Redis Data Reveal(rdr)组件

rdb文件:

该文件有两个来源:

  1. redis配置的持久化策略,定期会生成一个rdb文件,可以直接拿来分析
  2. 如果未配置rdb持久化策略,则可以在redis shell中执行bgsave命令生成,该命令是异步执行的,不会对当前线程的正常使用造成影响,执行完成后会在相应目录(经过笔者测试是在redis安装目录的同级目录)下生成dump.rdb文件,由于是异步生成,所以没有执行完成的通知,可以通过查看该文件大小是否变化以及最后修改时间来进行确认,按照笔者的经验,几百兆的rdb文件十几二十秒就可以完成,大家可以作为时间参考

Redis Data Reveal(rdr)组件:

  1.  废话不说,直接github上下载:项目链接:https://github.com/xueqiu/rdr

下载界面如下:

RDR下载

笔者为了方便使用windows进行的操作,下载之后的组件文件以及数据文件如下:

    2.  执行命令,生成图表 

  打开cmd或者是powershell找到exe文件的地址,然后执行下列命令:

如果样式如上图,则说明执行成功,打开浏览器输入本地浏览器输入127.0.0.1:8080 即可查看刚刚给redis数据文件做的报表分析结果:

redis内存占用分析,可视化查看redis数据内存占用大的key_第1张图片

界面上包含饼状图,柱状图以及top排行来从各个维度显示redis中数据的统计,基本上能满足需求,如果感觉top100不能满足你的需求,想看到更多的key,可以使用下列命令查看:

redis内存占用分析,可视化查看redis数据内存占用大的key_第2张图片

你可能感兴趣的:(redis,redis内存分析,redis,内存占用大的key,key占用内存排行,redis,内存)