linux

Redis内存如何设置合理

小樊
40
2025-09-12 18:59:18
栏目: 云计算

合理设置Redis内存需结合业务场景和服务器资源,核心步骤如下:

  1. 设置最大内存

    • 通过redis.confmaxmemory参数指定,单位支持字节、KB、MB、GB,例如maxmemory 4gb
    • 生产环境建议设置为物理内存的70%-80%,预留部分空间避免碎片影响。
  2. 选择内存淘汰策略

    • 缓存场景:常用allkeys-lru(从所有键中淘汰最近最少使用的)或volatile-lru(仅从有过期时间的键中淘汰)。
    • 持久化场景:若需保留数据,选择volatile-lfu(按访问频率淘汰)或noeviction(禁止淘汰,需确保内存充足)。
    • 通过maxmemory-policy参数配置,支持动态修改。
  3. 优化内存使用

    • 监控used_memory(实际使用内存)、used_memory_rss(物理内存占用)、mem_fragmentation_ratio(碎片率),避免碎片过高(建议<1.5)。
    • 对大Key(可通过redis-cli --bigkeys排查)进行拆分或压缩,减少内存占用。
    • 启用active-defrag主动碎片整理(Redis 4.0+),或定期重启服务整理碎片。
  4. 动态调整与验证

    • 生产环境可通过config set maxmemory动态修改配置(无需重启)。
    • 压力测试验证配置合理性,确保业务高峰时内存使用稳定。

关键参数参考

参考来源:

0
看了该问题的人还看了