合理设置Redis内存需结合业务场景和服务器资源,核心步骤如下:
设置最大内存
redis.conf
中maxmemory
参数指定,单位支持字节、KB、MB、GB,例如maxmemory 4gb
。选择内存淘汰策略
allkeys-lru
(从所有键中淘汰最近最少使用的)或volatile-lru
(仅从有过期时间的键中淘汰)。volatile-lfu
(按访问频率淘汰)或noeviction
(禁止淘汰,需确保内存充足)。maxmemory-policy
参数配置,支持动态修改。优化内存使用
used_memory
(实际使用内存)、used_memory_rss
(物理内存占用)、mem_fragmentation_ratio
(碎片率),避免碎片过高(建议<1.5)。redis-cli --bigkeys
排查)进行拆分或压缩,减少内存占用。active-defrag
主动碎片整理(Redis 4.0+),或定期重启服务整理碎片。动态调整与验证
config set maxmemory
动态修改配置(无需重启)。关键参数参考:
maxmemory
:必设,建议为物理内存的70%-80%。maxmemory-policy
:缓存场景选allkeys-lru
,持久化场景选volatile-lfu
或noeviction
。maxmemory-samples
:默认5,增大可提高淘汰精度但增加CPU消耗。参考来源: