合理设置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消耗。参考来源: