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

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

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

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

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

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

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

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

相关推荐
晚染烟14 小时前
每日八股day17
redis
小白勇闯网安圈14 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨15 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
m0_3807438716 小时前
给大模型调用加一层本地缓存,让重复请求直接命中磁盘
缓存
科技绘图16 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
ltl16 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl16 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl16 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
麻瓜code17 小时前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
FakeOccupational18 小时前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存(D-Cache)结构+MPU+DMA&Cache+STM32CubeMX配置
笔记·stm32·缓存