redis 主从同步时,是同步主节点的缓存积压区的数据,还是同步主节点的aof文件

Redis 的主从同步(replication)是同步主节点的数据到从节点上,但它既不是直接同步 AOF 文件,也不是同步缓存积压区。

当一个 Redis 从节点启动并连接到主节点时,会发生以下步骤:

同步数据集:从节点最初会向主节点发起一次同步请求。主节点会生成一个当前数据集的快照,这通常是通过执行BGSAVE命令产生 RDB 文件的方式完成的,然后主节点将这个 RDB 文件发送给从节点。从节点接收到 RDB 文件后,会加载这个文件来建立自己的数据副本。

复制积压缓冲区(Replication Backlog):主节点在内存中维护一个复制积压缓冲区。这是一个固定大小的缓冲区,用于记录最近写入的所有操作。当从节点完成加载 RDB 文件后,主节点会将从节点断开连接以来积累在复制积压缓冲区中的变更发送给从节点。

命令流同步:一旦初始数据集同步完成,并且所有缓冲区中的命令都已同步,从节点以后会实时接收主节点执行的所有写命令。这样从节点可以保持与主节点的数据一致性。

在这个过程中,AOF(Append Only File)文件并不直接参与主从同步。AOF 是另外一种持久化选项,它记录了对数据库执行的所有写操作,用于恢复数据,而不是用于主从同步。在主从同步期间,即使主节点开启了 AOF 持久化,它也不会将 AOF 文件直接发送给从节点。

因此,简单来说,主从同步涉及到将主节点当前数据的快照(RDB)和之后积压的写命令(通过复制积压缓冲区)同步到从节点,而不是直接同步当前的缓存状态或 AOF 文件。

相关推荐
听雪楼主.2 小时前
Oracle Undo Tablespace 使用率暴涨案例分析
数据库·oracle·架构
我科绝伦(Huanhuan Zhou)2 小时前
KINGBASE集群日常维护管理命令总结
数据库·database
妖灵翎幺2 小时前
Java应届生求职八股(2)---Mysql篇
数据库·mysql
HMBBLOVEPDX3 小时前
MySQL的事务日志:
数据库·mysql
weixin_419658315 小时前
MySQL数据库备份与恢复
数据库·mysql
如白驹过隙5 小时前
cloudflare缓存配置
前端·缓存
专注API从业者6 小时前
基于 Flink 的淘宝实时数据管道设计:商品详情流式处理与异构存储
大数据·前端·数据库·数据挖掘·flink
小猿姐7 小时前
KubeBlocks for Milvus 揭秘
数据库·云原生
AI 嗯啦7 小时前
SQL详细语法教程(四)约束和多表查询
数据库·人工智能·sql
杜子不疼.8 小时前
《Python学习之文件操作:从入门到精通》
数据库·python·学习