news 2026/6/25 22:10:23

Redis内存使用率在95%以上,请问是什么原因?如何解决?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Redis内存使用率在95%以上,请问是什么原因?如何解决?

内存使用率在生产环境一般会有三种场景:

  1. 一直都很高 比如95%以上
  2. 突然飙高,一般和瞬时流量有关,内存使用率达到100%
  3. 只是某个节点飙高 ,内存使用率达到100%

场景不一样,问题的原因也可能不一样,解决方案也会不一样。具体的问题原因以及解决方案如下。

一、内存使用率长期处于高水位的解决办法

  1. 盘点下key的使用情况,清理掉无用的key;
  2. 看下key是否设置了合适的TTL策略,避免一直存在redis中;
  3. 检查是否有大key,大key很多的话,就会占用很多内存;
  4. 根据业务需求,设置合理的数据逐出策略,主要是调整maxmemory-policy参数的值;
  5. 根据业务需求,设置合理的过期Key主动删除的执行频率(即调整hz参数的值);
  6. 经过上述步骤优化后,内存使用率依旧较高,可以考虑从硬件配置上入手加大内存。

二、内存使用率突然上升的解决办法

1. 问题原因

内存使用率突然升高一般和瞬时并发流量有关,具体表现为:

  1. 短时间内大量写入新数据;
  2. 短时间内大量创建新连接;
  3. 突发访问产生大量流量超过网络带宽,导致输入缓冲区和输出缓冲区积压;
  4. 客户端处理速度跟不上Redis的处理速度,导致输出缓冲区积压。

2. 具体解决方案

  1. Redis性能监控的入流量与写QPS一致的话,也就是说流量可以承接,可能是写数据太大导致,这个需要升级下redis内存配置,也可以清理下无效的key,腾出更多的空间;
  2. 如果连接数突增的话,首先排除链接是否泄漏,正常关闭;或者设置连接超时时间(timeout 参数),自动关闭空闲连接;
  3. 执行MEMORY STATS命令,看下clients.normal占用的内存是否过多。如果是的话,排查业务流量突发原因或者提升带宽;
  4. 执行MEMORY DOCTOR命令,查看big_client_buf的值。当big_client_buf=1时,代表至少有一个客户端的输出缓冲区占用内存较大。执行CLIENT LIST命令,查看哪个客户端的输出缓冲区内存占用量(omem)较大。排查该客户端应用是否存在性能问题。

三、单个节点内存飙高

这种情况一般都是hash到这个分片大key或者热点key 有关系,一般解决办法是:

  1. 拆分key,分散单个节点流量,使数据更加均匀地分布在不同的数据分片节点上;
  2. 增加redis实例的内存,进行扩容。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 10:13:48

滑动窗口-----找到所有字母异位词

&#x1f525;个人主页&#xff1a;Milestone-里程碑 ❄️个人专栏: <<力扣hot100>> <<C>><<Linux>> <<Git>><<MySQL>> &#x1f31f;心向往之行必能至 题目解读 给定两个字符串 s 和 p&#xff0c;我们需要在…

作者头像 李华
网站建设 2026/6/22 10:03:58

失物招领平台信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

摘要 随着城市化进程的加快和人口流动性的增强&#xff0c;物品遗失现象日益频繁&#xff0c;传统失物招领方式效率低下且信息传播范围有限。为解决这一问题&#xff0c;开发一套高效、便捷的失物招领平台信息管理系统具有重要意义。该系统通过整合线上线下资源&#xff0c;为…

作者头像 李华
网站建设 2026/6/21 1:08:56

前后端分离华府便利店信息管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

摘要 随着信息技术的快速发展&#xff0c;传统便利店管理模式逐渐暴露出效率低下、数据冗余等问题。华府便利店作为一家中小型连锁企业&#xff0c;亟需一套高效、便捷的信息管理系统来优化商品管理、库存监控和销售分析等业务流程。信息化管理不仅能提升运营效率&#xff0c;…

作者头像 李华
网站建设 2026/6/21 1:16:42

如何选择西安优质小程序开发服务与本凡码农合作?

在选择西安优质小程序开发服务时&#xff0c;首先要清晰了解自己的需求。这个过程包括明确小程序的功能、设计风格及目标受众。其次&#xff0c;调查潜在开发公司的背景和案例&#xff0c;将其与市场中其他公司进行比较&#xff0c;确保其具备良好的口碑和丰富的项目经验。此外…

作者头像 李华
网站建设 2026/6/21 1:16:08

manictime pro 特别版安装教程下载

1. 安装 ManicTime 2025.3.8.0 2. 机活试用期&#xff0c;就是30天的那个 3. 关闭 ManicTime 进程 4. 将ManicTime.Client.dll文件复制到你安装的目录&#xff0c;注意不会覆盖文件 5. 运行 ManicTime 6.打开关于&#xff0c;显示以下就是成功了 导入旧个人数据库&#xff0c;…

作者头像 李华
网站建设 2026/6/15 6:57:36

Vibe Coding 与智能体:软件团队的新工作范式,以及我们该如何适应

近一年&#xff0c;软件研发正在出现一个非常明确的分水岭&#xff1a;一类团队开始用自然语言驱动开发&#xff0c;快速产出可运行的代码&#xff1b;另一类团队则把大模型变成“能干活的系统”&#xff0c;让它调用工具、执行流程、闭环交付。这两个关键词分别是 vibe coding…

作者头像 李华