合理設置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消耗。參考來源: