首页/数据/数据库速查/全量/部分同步与 repl-backlog 机制
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条
Redis 运维与场景124 条

全量/部分同步与 repl-backlog 机制

首次复制或 offset 已滑出积压缓冲时走全量同步(生成 RDB 传输);否则走部分同步(PSYNC 续传 backlog 中的增量)。

数据库速查数据更新于 2026-10-12
repl-backlog主库环形缓冲,供断线重连续传;大小默认 1MB
repl-backlog-ttl从库全断后缓冲保留时长,默认 3600 秒
全量触发首次挂载、backlog 太小、主库重启丢偏移

查看与调整

查看与调整
INFO replication | grep repl_backlog
# repl_backlog_size 太小会让重连退化为全量同步:
CONFIG SET repl-backlog-size 64mb
# 从库看是否正在全量:
INFO replication | grep master_sync_in_progress
高写入实例建议把 repl-backlog-size 设为「预估断连时长 x 写入速率」的余量;太小会在网络抖动后频繁全量同步,放大主库压力。

易错点

  • 网络抖动后从库总是全量重同步:backlog 太小是首要嫌疑
  • 主库重启未开持久化:offset 归零,从库被迫全量

数据来源与参考

  • Redis 官方文档: PSYNC
  • Redis 官方文档: repl-backlog-size

相关工具

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