当前位置: 首页 > news >正文

Redis 实现主从同步

Redis 主从同步(Replication)是指将一台 Redis 服务器(主节点)的数据复制到其他 Redis 服务器(从节点)的过程。

以下是 Redis 主从同步的实现原理和配置方式。


一、主从同步工作原理

1.全量同步(初始同步)

当从节点第一次连接主节点,或从节点与主节点断开连接时间过久时,会触发全量同步:

  1. 从节点发送PSYNC ? -1命令请求全量同步。

  2. 主节点执行BGSAVE生成 RDB 文件,同时缓存新写入的命令。

  3. 主节点将 RDB 文件发送给从节点,从节点清空旧数据并加载 RDB。

  4. 主节点将缓存的写命令(Replication Buffer)发送给从节点执行。

2.增量同步(断线重连)

当从节点短线重连后,如果条件允许,会进行增量同步:

  1. 从节点保存了主节点的runID和复制偏移量offset

  2. 从节点发送PSYNC <runID> <offset>命令。

  3. 主节点判断offset是否在复制积压缓冲区(Repl Backlog Buffer)中:

    • 如果在,则发送缓冲区中从offset到最新的写命令。

    • 如果不在,则触发全量同步。


二、配置主从同步

1.临时配置(重启失效)

在从节点上执行命令:

# 设置主节点地址和端口 SLAVEOF <master-ip> <master-port> # 取消复制,恢复为主节点 SLAVEOF NO ONE

2.永久配置

修改从节点的redis.conf

# 指定主节点 replicaof <master-ip> <master-port> # 如果主节点有密码,需配置 masterauth <master-password> # 从节点只读(默认) replica-read-only yes

三、关键配置参数

参数说明
repl-backlog-size复制积压缓冲区大小(影响断线重连能否增量同步)
repl-timeout复制超时时间(默认 60 秒)
min-replicas-to-write主节点至少写入的从节点数量
replica-serve-stale-data从节点与主节点失联时是否响应旧数据

四、主从同步流程示例

# 1. 启动主节点(默认端口 6379) redis-server # 2. 启动从节点并连接主节点 redis-server --port 6380 --replicaof 127.0.0.1 6379 # 3. 查看主从状态 redis-cli -p 6379 info replication # 主节点 redis-cli -p 6380 info replication # 从节点

五、常见问题与优化

1.主从数据不一致

  • 原因:网络延迟、从节点负载过高。

  • 解决:监控master_repl_offsetslave_repl_offset差值。

2.全量同步频繁

  • 原因:复制积压缓冲区大小不足或从节点频繁重启。

  • 解决:增大repl-backlog-size,避免频繁重启。

3.主节点内存溢出

  • 原因BGSAVE生成 RDB 时内存翻倍。

  • 解决:主节点内存预留一半,或使用磁盘缓冲。


六、相关命令

# 查看复制信息 INFO replication # 手动触发全量同步(从节点) REPLICAOF <master-ip> <master-port> # 提升从节点为主节点(故障转移时) REPLICAOF NO ONE

通过以上配置和原理,Redis 主从同步可以实现数据的高可用备份和读写分离(从节点处理读请求)。

http://www.jsqmd.com/news/230331/

相关文章:

  • 5个最火AI智能体推荐:0配置开箱即用,10块钱全试遍
  • 插混电力再加码 比亚迪4款210km纯电长续航DM-i车型加推上市
  • 经典五合一版本,值得收藏
  • AI安全分析师速成:1天掌握实体行为检测,云端实验环境已备好
  • 环保AI智能体案例:低成本监测空气质量变化
  • Python 类型注解Type Annotations
  • AI智能体数据可视化:5分钟生成动态报表,1小时1块
  • 达梦(DM8)对 JSON 与 XML 的使用教程
  • Tavily 库
  • 智能健身AI体开发教程:可穿戴设备+云端分析方案
  • AI论文图表解析:自动提取数据实体,科研效率提升3倍
  • 5大AI安全模型实测对比:云端GPU 2小时完成选型,1块钱起
  • 制造业零件检测AI方案:缺陷识别准确率98%,成本透明
  • 基于python的医药进销存管理系统[python]-计算机毕业设计源码+LW文档
  • AI视频分析云端方案:直播流实时侦测,按需付费不浪费
  • AI智能体音乐生成教程:没显卡也能创作,1小时1块
  • AI智能体金融风控案例:3步复现模型
  • 智能侦测模型轻量化指南:云端蒸馏+量化一站式方案
  • 学生党福利:AI智能体学习1小时1块随便玩
  • AI智能体零售分析实战:转化率提升技巧
  • AI侦测模型部署避坑指南:云端镜像免配置,新手指南
  • AI安全自动化实战:告警聚合+事件溯源,1小时全掌握
  • C 层函数调用与概念梳理
  • 游戏AI智能体开发:Unity+云端GPU低成本方案
  • AI安全众测平台:标准化测试环境+灵活计费,降低参与门槛
  • AI智能体保姆级教程:小白10分钟上手,云端GPU免配置
  • 无痛体验AI侦测:1小时1块,不满意随时退
  • Redis 可以实现哪些业务功能
  • AI威胁检测省钱攻略:按秒计费云端GPU,比买服务器省万元
  • AI威胁检测新手指南:避开环境配置那些坑