南宁市网站建设_网站建设公司_一站式建站_seo优化
2025/12/18 16:05:13 网站建设 项目流程

本文系统整理 Redis 内存排查的完整流程,涵盖最大内存配置、淘汰策略、大 Key 定位、内存碎片分析以及在线碎片整理。


一、查看 Redis 最大内存(maxmemory)配置

1️⃣ 查询最大内存限制

CONFIG GET maxmemory

返回说明

  • 返回值单位:字节(Byte)
  • 示例:
1) "maxmemory"
2) "8589934592"

表示 Redis 最大可使用内存为 8GB

特殊情况说明

返回值 含义
0 不限制内存(默认值,⚠️ 生产环境不推荐)

二、查看 Redis 内存淘汰策略(maxmemory-policy)

1️⃣ 查询当前淘汰策略

CONFIG GET maxmemory-policy

2️⃣ 常见淘汰策略说明

策略 说明
noeviction 默认策略,内存满后写入直接报错
allkeys-lru 对所有 key 按 LRU 算法淘汰(常用)
volatile-ttl 仅对设置了 TTL 的 key,优先淘汰快过期的

三、定位大 Key(BigKey)

大 Key 是 Redis 内存问题和性能问题的常见根源。

1️⃣ 使用 redis-cli 内置工具(推荐)

redis-cli --bigkeys

2️⃣ 工具说明

  • 使用 SCAN 方式遍历 key
  • 不会阻塞 Redis
  • 自动按数据类型统计最大 key

3️⃣ 示例输出

Biggest string found 'user:token:1001' has 512000 bytes
Biggest hash found 'user:info:hash:1001' has 4200 fields

4️⃣ 结果解读

  • string:关注 value 字节大小
  • hash / list / set / zset:关注元素或 field 数量

四、查看 Redis 内存使用与碎片率

1️⃣ 查看内存信息

INFO MEMORY

2️⃣ 关键字段说明

used_memory:104857600
used_memory_rss:157286400
mem_fragmentation_ratio:1.50
mem_fragmentation_bytes:52428800
字段 含义
used_memory Redis 实际使用内存
used_memory_rss 操作系统分配给 Redis 的内存
mem_fragmentation_ratio 内存碎片率
mem_fragmentation_bytes 内存碎片大小

3️⃣ 如何判断是否存在内存碎片问题?

碎片率 状态说明
< 1.1 正常
1.1 ~ 1.5 可接受
> 1.5 ⚠️ 碎片偏高
> 2.0 ❌ 严重问题,需处理

五、Redis 在线内存碎片整理(Redis 4.0+)

1️⃣ 查看是否开启碎片整理

CONFIG GET activedefrag

2️⃣ 开启在线碎片整理

CONFIG SET activedefrag yes

3️⃣ 查看碎片整理相关参数

CONFIG GET active-defrag*

说明:

  • 在线碎片整理会消耗一定 CPU
  • 建议在 碎片率较高且无法随意重启实例 的情况下开启

六、Redis 内存问题排查完整流程(实战总结)

1️⃣ 查看整体内存情况

INFO MEMORY

关注:

  • 最大内存(maxmemory)
  • 淘汰策略(maxmemory-policy)
  • 当前内存使用量
  • 内存碎片率(mem_fragmentation_ratio)

2️⃣ 未设置最大内存

CONFIG SET maxmemory 8gb

⚠️ 建议生产环境必须设置 maxmemory


3️⃣ 未设置淘汰策略

CONFIG SET maxmemory-policy allkeys-lru

4️⃣ 内存碎片率过高(> 1.5)

处理建议:

  • 开启在线碎片整理:
CONFIG SET activedefrag yes
  • 排查并治理大 Key
  • 必要时在低峰期重启 Redis

七、最佳实践总结

  • ✅ 生产环境必须设置 maxmemory
  • ✅ 合理选择内存淘汰策略(推荐 allkeys-lru
  • ❌ 禁止使用 KEYS * 排查大 Key
  • ✅ 使用 redis-cli --bigkeys 定位风险 key
  • ✅ 关注 mem_fragmentation_ratio,而不是 allocator 指标
  • ✅ 碎片率过高再开启 activedefrag

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询