首页/数据/数据库速查/全量重同步风暴与无盘同步(repl-diskless-sync)
Redis 运维与场景124 条

全量重同步风暴与无盘同步(repl-diskless-sync)

多个从库同时全量同步会同时 fork 快照 + 传输:用 repl-diskless-sync 避免落盘、用延迟窗口合并传输、并错开从库上线时间。

数据库速查数据更新于 2026-10-12
repl-diskless-sync直接 socket 传 RDB,不落盘(默认 yes,7.0)
repl-diskless-sync-delay等待窗口(默认 5 秒),聚合同步请求
repl-diskless-load从库侧无盘加载(disabled/on-empty-db/swapdb)

配置与观察

配置与观察
CONFIG GET repl-diskless-sync
CONFIG GET repl-diskless-sync-delay
INFO replication | grep sync_full     # 全量同步次数
# 从库批量上线请错峰:
# for r in r1 r2 r3; do REPLICAOF host port; sleep 300; done
全量同步期间主库内存与带宽压力显著:从库扩容/迁移安排在低峰,并尽量用「先复制再切流量」的方式减少次数。

易错点

  • 同时挂 5 个从库:主库 fork 与带宽被打满,形成同步风暴
  • 无盘同步 + swapdb 加载模式在内存不足时风险更大,需评估内存余量

数据来源与参考

  • Redis 官方文档: repl-diskless-sync
  • Redis 官方文档: 复制(无盘同步)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌