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

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

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

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

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

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

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

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

相关推荐
我是个假程序员22 分钟前
sql server数据库可疑修复
数据库
极限实验室2 小时前
如何使用 Nginx 代理 Easysearch 服务
数据库·nginx
whn19772 小时前
selectdb修改表副本
数据库
TDengine (老段)3 小时前
TDengine 中的视图
数据库·物联网·oracle·时序数据库·tdengine·iotdb
Kyrie_Li3 小时前
Redis-Sentinel(哨兵模式)
数据库·redis·sentinel
计算机毕设定制辅导-无忧学长4 小时前
TDengine 数据写入优化:协议选择与批量操作(一)
网络·数据库·tdengine
Mr.洛 白4 小时前
OpenEuler/CentOS一键部署OpenGauss数据库教程(脚本+视频)
数据库·opengauss·gaussdb·国产数据库安装·安装脚本
炬火初现5 小时前
redis-cpp-cpp如何使用lua脚本
数据库·redis·lua
hxung5 小时前
Redis 数据类型详解
数据库·redis·缓存
oh,huoyuyan5 小时前
火语言RPA--Sqlite-导入数据表格
数据库·sqlite·rpa