MST

星途 面试题库

面试题:Redis主从复制的原理简述及基本配置步骤

请简要阐述Redis主从复制的基本原理,并说明在Linux环境下,如何配置一个简单的一主一从Redis复制架构?
20.4万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

Redis主从复制基本原理

  1. 同步阶段
    • 从节点连接主节点,发送SYNC命令。
    • 主节点接收到SYNC命令后,开始执行BGSAVE命令生成RDB文件,并使用缓冲区记录此后执行的写命令。
    • 主节点将RDB文件发送给从节点,从节点接收到后,先清空本地数据,然后加载RDB文件。
    • 主节点将缓冲区的写命令发送给从节点,从节点执行这些命令,从而达到数据同步。
  2. 命令传播阶段
    • 同步完成后,主节点执行的写命令会通过异步方式源源不断地发送给从节点,从节点接收并执行这些命令,保持与主节点的数据一致性。

在Linux环境下配置一主一从Redis复制架构

  1. 安装Redis
    • 可以通过包管理器(如yumapt - get)安装,以yum为例:
    sudo yum install redis
    
  2. 配置主节点
    • 编辑主节点的Redis配置文件,通常位于/etc/redis.conf
    • 确保以下配置项:
    bind 0.0.0.0 # 允许其他节点连接,生产环境可按需修改
    protected - mode no # 关闭保护模式
    
    • 重启Redis服务使配置生效:
    sudo systemctl restart redis
    
  3. 配置从节点
    • 编辑从节点的Redis配置文件/etc/redis.conf
    • 添加或修改以下配置:
    bind 0.0.0.0
    protected - mode no
    slaveof <主节点IP> <主节点端口> # 例如 slaveof 192.168.1.100 6379
    
    • 重启从节点的Redis服务:
    sudo systemctl restart redis
    
  4. 验证配置
    • 在主节点上执行redis - cli进入Redis客户端,设置一些键值对:
    redis - cli
    set key1 value1
    
    • 在从节点上同样进入Redis客户端,尝试获取刚才设置的键值对:
    redis - cli
    get key1
    
    • 如果能获取到value1,说明主从复制配置成功。