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

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

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

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

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

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

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

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

相关推荐
零炻大礼包44 分钟前
【SQL server】数据库远程连接配置
数据库
zmgst1 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
随心............1 小时前
python操作MySQL以及SQL综合案例
数据库·mysql
€☞扫地僧☜€1 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
CopyDragon1 小时前
设置域名跨越访问
数据库·sqlite
xjjeffery1 小时前
MySQL 基础
数据库·mysql
写bug的小屁孩1 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
恒辉信达1 小时前
hhdb数据库介绍(8-4)
服务器·数据库·mysql
ketil272 小时前
Ubuntu 安装 redis
redis
齐 飞2 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb