一次Redis内存满的问题以及工具使用

2020-12-28 22:19:00 浏览数 (1)

一、Redis Memory Analyzer (RMA)工具

Redis Memory Analyzer (RMA)是个Redis的key占用分析工具。

RMA运行的结果表格有两个突出的特点:

  • 每一个key前缀的用户空间占比
  • 每一个key前缀的查询次数占比

1.1 安装:

代码语言:javascript复制
pip3 install rma

或者通过安装

代码语言:javascript复制
pip3 install git   https://github.com/gamenet/redis-memory-analyzer@v0.2.0

二、 使用方法:

rma -p 18000-b global

-b可以指定的选项包括'global', 'scanner', 'ram' and 'all'。这些选项可以综合使用,发挥查看使用Redis存储中的最大瓶颈点

2.1 global:Redis服务器统计

2.2. scanner选项:

按照key的分类和类型,进行空间百分比的统计

2.3. “ram”选项:

因为redis用到很多内部hash结构,ram可以看到内存的一些实际占用率

三、结论

1. 非活跃数据占用了大量的空间

2. 常用的IM短语(系统欢迎词)占用了大量的空间

3. 优化:非活跃用户数据和重新登录激活怎么做切换

4. Redis和Pika双写,Pika使用异步写,并设置消息的有效期,消息可以在Redis过期(有点像FIFO缓存淘汰),但是在Pika又有了备份。Pika有冷热数据区之分。

0 人点赞