Skip to content

Redis 配置参数参考 ​

本页以 Redis 7.4.11 默认配置为基准。“调优方向”不是通用推荐值;实际配置必须结合数据用途、RPO、主机资源和压测结果。修改前使用 CONFIG GET <参数> 确认当前实例值,并记录变更原因。

内存管理 ​

参数默认值调优方向说明
maxmemory0(不限制)根据主机、容器、fork 和增长速度计算最大内存限制
maxmemory-policynoeviction缓存可选 LRU/LFU;主数据通常保持 noeviction淘汰策略
maxmemory-samples5压测后提高采样精度LRU/TTL 采样精度
lazyfree-lazy-evictionnoyes异步淘汰,避免阻塞
lazyfree-lazy-expirenoyes异步过期删除

淘汰策略说明 ​

策略范围算法适用场景
noeviction-不淘汰,写入报错不能主动丢弃数据的实例
allkeys-lru所有 keyLRU通用缓存
allkeys-lfu所有 keyLFU热点数据明显
volatile-lru有 TTL 的 keyLRU缓存+持久混合
volatile-lfu有 TTL 的 keyLFU缓存+持久混合
volatile-ttl有 TTL 的 keyTTL 最短优先过期数据优先淘汰
volatile-random有 TTL 的 key随机无明确热点
allkeys-random所有 key随机无明确热点

持久化 ​

参数默认值调优方向说明
save3600 1 300 100 60 10000按 RPO、fork 成本和恢复时间调整RDB 触发条件
appendonlyno需要命令级恢复点时开启开启 AOF
appendfsynceverysec通常为 everysec,并结合 RPO 压测AOF 刷盘策略
auto-aof-rewrite-percentage100100AOF 重写触发比例
auto-aof-rewrite-min-size64mb根据文件增长和恢复时间调整AOF 重写最小大小

连接与超时 ​

参数默认值调优方向说明
bind127.0.0.1 与 ::1私网地址或回环地址监听地址;容器网络需单独判断
port63796379监听端口
timeout0(不超时)根据客户端连接模式决定主动断开空闲客户端的秒数
tcp-keepalive300结合网络和中间设备超时验证TCP 心跳间隔(秒)
maxclients10000根据连接池上限和文件描述符预算调整最大客户端连接数

性能 ​

参数默认值调优方向说明
hz10默认保持 10,有明确需求时再压测调整后台任务频率
io-threads1压测决定,通常不超过 CPU 核数IO 线程数(6.0+)
io-threads-do-readsno默认保持 no,除非压测证明有收益读操作也使用 IO 线程(6.0+)
lazyfree-lazy-server-delno大 Key 删除场景压测后开启让服务端 DEL 走异步回收

复制与故障转移 ​

参数默认值调优方向说明
repl-backlog-size1mb按断线容忍时长和峰值复制写入速率计算支持 partial resync 的环形缓冲区
repl-backlog-ttl3600结合副本重启和重连窗口调整最后一个副本断开后保留 backlog 的秒数
replica-serve-stale-datayes根据应用能否接受旧数据决定副本无法同步时是否返回旧数据
replica-read-onlyyes通常保持 yes副本只读保护
min-replicas-to-write0根据可用副本和误判成本设置满足副本数量保护时才允许写入
min-replicas-max-lag10结合复制基线和 RPO 设置副本允许的最大延迟秒数

网络与安全 ​

参数默认值调优方向说明
protected-modeyes非受信网络中保持 yes无绑定地址且无密码时阻止外部访问
requirepass空新部署优先使用 ACL传统整体密码
aclfile空多应用部署使用 ACL 文件或运行时 ACL从文件加载 ACL 用户
tls-port0跨不可信网络时启用并验证证书TLS 监听端口

Released under the MIT License.