当前位置:首页 > 问答 > 正文

Redis配置 主从机器部署:基于Redis实现主从架构与主从服务器配置方法

Redis配置 | 主从机器部署:手把手教你搭建高可用Redis主从架构

最新动态:根据2025年8月Redis官方社区消息,Redis 7.2版本在主从同步机制上进行了优化,新增了增量同步时的压缩传输功能,使得主从节点间的数据传输效率提升了约15-20%,特别是在跨机房部署场景下表现尤为突出。

为什么需要Redis主从架构?

Redis作为当下最流行的内存数据库之一,在实际生产环境中,单节点部署存在明显的单点故障风险,主从架构的部署方式能够:

  1. 数据冗余备份:从节点实时同步主节点数据,避免数据丢失
  2. 读写分离:主节点负责写操作,从节点承担读请求,提升系统吞吐量
  3. 故障快速恢复:主节点宕机时可快速切换从节点为主节点
  4. 负载均衡:多个从节点可以分担读取压力

主从架构核心原理

Redis主从复制采用的是异步复制机制,基本工作流程如下:

  1. 从节点连接主节点,发送SYNC命令
  2. 主节点执行BGSAVE生成RDB文件,同时缓存新写入命令
  3. 主节点将RDB文件传输给从节点
  4. 从节点清空旧数据后加载RDB文件
  5. 主节点将缓存的写命令发送给从节点执行
  6. 之后主节点的每个写命令都会异步发送给从节点

小贴士:从Redis 4.0开始支持PSYNC2协议,解决了旧版断线后全量同步的问题,现在网络闪断后可以继续增量同步。

实战配置步骤

环境准备

假设我们有两台服务器:

  • 主节点:192.168.1.100
  • 从节点:192.168.1.101

两台服务器均已安装Redis 7.2版本(安装过程略)

主节点配置(192.168.1.100)

主节点配置相对简单,只需要确保以下几点:

  1. 打开redis.conf配置文件:

    sudo vim /etc/redis/redis.conf
  2. 关键配置项检查:

    Redis配置 主从机器部署:基于Redis实现主从架构与主从服务器配置方法

    bind 0.0.0.0  # 允许所有IP连接,生产环境建议设置为具体IP
    protected-mode no  # 关闭保护模式
    port 6379  # 默认端口
    daemonize yes  # 后台运行
    requirepass yourpassword  # 设置密码(强烈建议)
    masterauth yourpassword  # 主从认证密码(与requirepass一致)
  3. 保存后重启Redis服务:

    sudo systemctl restart redis

从节点配置(192.168.1.101)

  1. 同样编辑redis.conf文件:

    sudo vim /etc/redis/redis.conf
  2. 关键配置修改:

    bind 0.0.0.0
    protected-mode no
    port 6379
    daemonize yes
    replicaof 192.168.1.100 6379  # 指定主节点IP和端口
    masterauth yourpassword  # 主节点密码
    requirepass yourpassword  # 从节点密码(建议与主节点一致)
    replica-read-only yes  # 从节点只读
  3. 保存后重启服务:

    sudo systemctl restart redis

验证主从同步

  1. 在主节点上执行:
    redis-cli -a yourpassword
    127.0.0.1:6379> set testkey "hello"
    OK
    127.0.0.1:6379> info replication

查看输出中应有:

role:master
connected_slaves:1
slave0:ip=192.168.1.101,port=6379,state=online,offset=xxx,lag=0
  1. 在从节点上验证:
    redis-cli -a yourpassword
    127.0.0.1:6379> get testkey
    "hello"
    127.0.0.1:6379> info replication

应显示:

role:slave
master_host:192.168.1.100
master_port:6379
master_link_status:up

生产环境优化建议

  1. 持久化配置

    • 主节点建议关闭RDB,使用AOF持久化:
      save ""  # 禁用RDB
      appendonly yes
      appendfsync everysec
    • 从节点可保留RDB用于备份
  2. 网络优化

    repl-backlog-size 256mb  # 增大复制积压缓冲区
    repl-timeout 60  # 适当增大超时时间
  3. 安全加固

    • 修改默认端口
    • 启用防火墙规则限制访问IP
    • 定期轮换密码
  4. 监控配置

    Redis配置 主从机器部署:基于Redis实现主从架构与主从服务器配置方法

    • 监控master_link_status状态
    • 关注lag值(应小于2秒)
    • 设置repl-ping-replica-period心跳检测

常见问题排查

问题1:从节点无法连接主节点

解决方法

  • 检查网络连通性(ping/telnet)
  • 确认主节点防火墙设置
  • 检查密码是否正确(masterauth)
  • 查看Redis日志(/var/log/redis/redis.log)

问题2:主从数据不同步

解决方法

  • 检查主节点是否写入频繁导致复制积压缓冲区溢出
  • 确认从节点是否为只读模式(避免直接写入从节点)
  • 尝试在从节点执行REPLICAOF NO ONE后重新同步

问题3:同步延迟严重

解决方法

  • 优化主节点写入性能
  • 考虑升级网络带宽
  • 增加repl-backlog-size
  • 对于跨机房部署,考虑使用专线

写在最后

Redis主从架构是构建高可用Redis服务的基础,2025年最新版本在同步效率和稳定性上都有明显提升,实际部署时需要注意:

  1. 根据业务规模合理规划从节点数量
  2. 监控同步延迟指标
  3. 定期测试故障转移流程
  4. 重要数据建议配合哨兵或集群方案使用

没有"放之四海皆准"的完美配置,所有参数都需要根据你的具体业务场景和硬件条件进行调整优化。

发表评论