Redis 的内存配置参数主要分为以下几类,以下是详细说明和关键参数:
maxmemory
maxmemory 4gb)。maxmemory-policy)。maxmemory-policy
volatile-lru:对设置了过期时间的键使用 LRU 淘汰。allkeys-lru:对所有键使用 LRU 淘汰(推荐)。volatile-ttl:淘汰剩余存活时间最短的键。volatile-random / allkeys-random:随机淘汰。noeviction:不淘汰,返回错误(默认)。hash-max-ziplist-entries / hash-max-ziplist-value
hash-max-ziplist-entries 512 # 哈希元素数 ≤512 时用 ziplist
hash-max-ziplist-value 64 # 单个元素值 ≤64 字节时用 ziplist
类似参数(其他数据结构):
list-max-ziplist-entries / list-max-ziplist-valuezset-max-ziplist-entries / zset-max-ziplist-valueset-max-intset-entries(整数集合优化)active-expire-effort(Redis 6.2+)
hz
activedefrag
yes/no)。active-defrag-* 系列参数
plaintext
active-defrag-threshold-lower 10 # 内存碎片率≥10%时触发
active-defrag-cycle-min 5 # 最小CPU占用百分比
active-defrag-cycle-max 75 # 最大CPU占用百分比client-output-buffer-limit
client-output-buffer-limit normal 0 0 0 # 普通客户端无限制
client-output-buffer-limit slave 256mb 64mb 60 # 从库限制
replica-ignore-maxmemory
maxmemory(默认 yes,从库不淘汰数据)。maxmemory:避免系统OOM。allkeys-lru 或 volatile-lru。*-ziplist-* 参数。mem_fragmentation_ratio > 1.5,考虑启用 activedefrag。通过合理配置这些参数,可以显著优化 Redis 的内存使用效率和稳定性。建议结合 INFO MEMORY 命令监控内存状态。