MST

星途 面试题库

面试题:Redis复制中如何实现数据备份的基本原理

请阐述在Redis复制机制下,数据备份是怎样实现的?包括主从节点之间的交互流程以及数据同步的关键步骤。
24.9万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

主从节点交互流程

  1. 从节点发起复制请求:从节点启动后,通过 SLAVEOF 命令(或配置文件设置)指定主节点的IP和端口,向主节点发送复制请求。
  2. 主节点响应:主节点收到请求后,会为从节点创建一个复制数据的快照文件(RDB文件),并在内存中记录此后执行的写命令。
  3. 发送RDB文件:主节点将生成的RDB文件发送给从节点,从节点接收到RDB文件后,先清空自身数据,然后加载RDB文件,将数据恢复到从节点。
  4. 同步写命令:主节点将内存中记录的写命令发送给从节点,从节点按照顺序执行这些命令,从而与主节点的数据保持一致。此后,主节点每执行一个写命令,都会将其发送给从节点,确保数据实时同步。

数据同步关键步骤

  1. 建立连接:从节点与主节点建立网络连接,以便进行数据传输。
  2. 生成RDB快照:主节点在后台生成RDB快照文件,这个过程不会阻塞主节点的正常工作。
  3. 全量同步:从节点接收并加载主节点发送的RDB文件,完成全量数据的初始化。
  4. 增量同步:主节点将新的写命令以日志形式持续发送给从节点,从节点执行这些命令,实现增量数据同步,保持与主节点的数据一致性。