Redis集群哨兵主从复制怎么配置?数据同步延迟和故障切换风险怎么解决?
配置 Redis 集群哨兵主从复制需在从节点配置 slaveof 指向主节点哨兵节点配置 sentinel monitor 监控主节点。数据同步延迟可通过调整 repl-disable-tcp-nodelay 参数优化网络传输开启后主节点合并数据包节省带宽但增加延迟关闭则及时同步。故障切换风险通过哨兵多数共识机制解决配置合理的 down-after-milliseconds 和 failover-timeout确保主节点宕机时哨兵能自动选举新主同时结合集群模式分片可进一步降低单点故障影响实现高可用。Redis6.0 主从、哨兵、集群搭建和原理主从复制是哨兵和集群的基石因此我们循序渐进由浅入深一层层的将 Redis 高可用方案抽丝剥茧展示在大家面前。主从复制 介绍 主从复制是指将一台 Redis 服务器的数据复制到其他的 Redis 服务器主从是哨兵和集群模式能够实施的基础。前者称为主节点 (master),后者称为从节点 (slave),数据的复制是单向的只能由主节点到从节点。默认情况下每台 Redis 服务器都是主节点;且一个主节点可以有零个或多个从节点 (0 个从节点),但一个从节点只能有一个主节点。一般主节点负责接收写请求从节点负责接收读请求从而实现读写分离。主从一般部署在不同机器上复制时存在网络延时问题使用参数 repl-disable-tcp-nodelay 选择是否关闭 TCP_NODELAY默认为关闭关闭无论数据大小都会及时同步到从节点占带宽适用于主从网络好的场景;开启主节点每隔指定时间合并数据为 TCP 包节省带宽默认为 40 毫秒同步一次适用于网络环境复杂或带宽紧张如跨机房;作用 数据冗余主从复制实现了数据的热备份是持久化之外的一种数据冗余方式。故障恢复当主节点出现问题时可以由从节点提供服务实现快速的故障恢复;实际上是一种服务的冗余。负载均衡在主从复制的基础上配合读写分离可以由主节点提供写服务由从节点提供读服务分担服务器负载;尤其是在写少读多的场景下通过多个从节点分担读负载可以大大提高 Redis 服务器的并发量。读写分离主库写、从库读读写分离不仅可以提高服务器的负载能力同时可根据需求的变化改变从库的数量;高可用基石除了上述作用以外主从复制还是哨兵和集群能够实施的基础。开启主从配置 配置主从可以在命令行或配置文件中配置上面提到主节点负责写从节点负责读因此推荐开启从服务器的只读配置否则的话在从节点的写操作不会同步到主节点会导致数据不一致命令行模式 在从服务器命令行中执行下面的命令即可成为该主服务器的从节点代码语言:javascript AI 代码解释 #在从服务器执行下面的命令成为或取消成为某节点的从节点#slaveof 主服务器的 IP 端口号 slaveof host port #取消成为任何服务器的从服务器 slaveof no one#从服务器只读 (推荐配置)configsetslave-read-only yes #查看主从信息 info replication #配置主节点 ACL 账号密码 (Redis6 开启 ACL 的情况)configsetmasteruser usernameconfigsetmasterauth password截至 2026 年 4 月 3 日一文搞懂 Redis 的三种集群方案主从复制模式 Sentinel(哨兵) 模式 Cluster 模式 主从复制模式 1. 基本原理 主从复制模式中包含一个主数据库实例 (master) 与一个或多个从数据库实例 (slave),如下图 客户端可对主数据库进行读写操作对从数据库进行读操作主数据库写入的数据会实时自动同步给从数据库。具体工作机制为:slave 启动后向 master 发送 SYNC 命令master 接收到 SYNC 命令后通过 bgsave 保存快照 (即上文所介绍的 RDB 持久化),并使用缓冲区记录保存快照这段时间内执行的写命令 master 将保存的快照文件发送给 slave,并继续记录执行的写命令 slave 接收到快照文件后加载快照文件载入数据 master 快照发送完后开始向 slave 发送缓冲区的写命令slave 接收命令并执行完成复制初始化 此后 master 每次执行一个写命令都会同步发送给 slave,保持 master 与 slave 之间数据的一致性撰于 2026 年 3 月 31 日redis 集群之主从复制 哨兵模式cluster 群集详解在这里主要讲述主从复制、哨兵模式、Redis Cluster 集群这三种方式。主从复制 主从复制概念 主从复制是指将一台 Redis 服务器的数据复制到其他的 Redis 服务器。前者称为主节点 (master),后者称为从节点 (slave),数据的复制是单向的只能由主节点到从节点。默认情况下每台 Redis 服务器都是主节点;且一个主节点可以有多个从节点 (或没有从节点),但一个从节点只能有一个主节点。如果 Master 和 Slave 之间的链接出现断连现象Slave 可以自动重连 Master,但是在连接成功之后一次完全同步将被自动执行。主从复制架构图工作原理 从服务器连接主服务器发送 SYNC 命令;主服务器接收到 SYNC 命名后开始执行 BGSAVE 命令生成 RDB 文件并使用缓冲区记录此后执行的所有写命令;主服务器 BGSAVE 执行完后向所有从服务器发送快照文件并在发送期间继续记录被执行的写命令;从服务器收到快照文件后丢弃所有旧数据载入收到的快照;主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令;从服务器完成对快照的载入开始接收命令请求并执行来自主服务器缓冲区的写命令;(从服务器初始化完成) 主服务器每执行一个写命令就会向从服务器发送相同的写命令从服务器接收并执行收到的写命令 (从服务器初始化完成后的操作) 工作原理图主从复制启用 从节点开启主从复制有 3 种方式配置文件在从服务器的配置文件中加入:slaveof 启动命令redis-server 启动命令后加入 --slaveof 客户端命令Redis 服务器启动后直接通过客户端执行命令:slaveof ,则该 Redis 实例成为从节点。通过 info replication 命令可以看到复制的一些信息搜索结果收录于 2024 年 3 月 4 日深度好文保姆级教程 Redis 高可用之主从复制贴心式服务手把手教你搭建 redis 主从复制架构然后介绍了 redis 主从复制原理全量复制和部分复制最后演示了 java 代码如何操作 redis。希望对你有所帮助。Redis 主从架构 Redis 支持简单且易用的主从复制功能主从复制可以让从服务器成为主服务器的精确复制品。主从复制架构图如下所示image-20220323113625838 Redis 主从架构搭建 Redis 集群搭建比较简单从节点配置直接点信息 replicaof ,如果主节点有认证信息可通过 masterauth 配置指定。我们在一台机器上模拟主从架构的搭建示例机器的 IP 地址为:172.16.38.12。master 节点端口号为 6379两个从节点端口号分别为 6380 和 6381。代码语言:javascript AI 代码解释 cd /usr/local/wget https://download.redis.io/releases/redis-6.2.6.tar.gz tar -zxvf redis-6.2.6.tar.gz cd redis-6.2.6/make ## 到此已经安装完成 ## 备份配置文件 cp redis.conf redis.conf_bak # 创建主从工作目录 mkdir -p replication/6379# master 节点 mkdir -p replication/6380# 从节点 mkdir -p replication/6381# 从节点 # 复制配置文件到主节点工作目录cp redis.conf replication/6379/# 使用 vim 命令修改主节点信息vim replication/6379/redis.conf # 修改后台启动 daemonize yes # redis 运行端口 port 6379# pid 号写入哪个配置文件 pidfile /var/run/redis_6379.pid # 指定数据文件的存放位置因为需要在一台机器启动两个实例所以必须指定不同的位置不然会丢失数据 dir /usr/local/redis-6.2.6/replication/6379/# 注释上允许所有网卡访问# bind 127.0.0.1-::1# 关闭保护模式 protected-mode no # 开启 AOF 存储 appendonly yes 按照上述步骤操作以后master 主节点配置完成现在可以启动 master。代码语言:javascript AI 代码解释 执行上面的命令没有任何提示说明启动成功。可以使用客户端连接进行验证。代码语言:javascript AI 代码解释 我们接下来以 6379 实例的配置文件为模板对两个从节点进行配置。按照以下步骤配置 6380 节点 代码语言:javascript AI 代码解释 启动 6380 从节点 代码语言:javascript AI 代码解释 配置 6381 节点 代码语言:javascript AI 代码解释 启动 6380 从节点消息于 2026 年 2 月 2 日发布Redis 三大高可用模式主从、哨兵、集群二、Redis 的主从模式 1. 主从模式的定义 Redis 的主从模式是一种数据备份和读写分离的模式。在这种模式下有一个主节点 (Master) 和一个或多个从节点 (Slave)。所有的写操作都在主节点上进行而读操作可以在主节点和从节点上进行。从节点会复制主节点的数据实现数据的备份。2. 主从模式的工作原理 在主从模式下主节点负责处理所有的写操作并将写操作记录在内存中的缓冲区。从节点从主节点获取这些写操作记录并在自己的数据库上执行这些操作从而保持与主节点的数据一致。此外读请求可以在主节点和从节点上进行从而实现读写分离提高系统的读取性能。具体的同步步骤如下从服务器连接到主服务器首先从服务器需要连接到主服务器。这通常通过在从服务器上执行 SLAVEOF 命令并指定主服务器的 IP 地址和端口号来完成。发送 SYNC 命令从服务器连接到主服务器后它会发送一个 SYNC 命令。这个命令是 Redis 复制的核心它会触发主服务器开始复制过程。主服务器开始保存数据收到 SYNC 命令后主服务器会开始在后台保存其数据快照。同时主服务器还会记录从接收到 SYNC 命令开始执行的所有写命令这些命令将在数据快照完成后发送给从服务器。主服务器发送数据快照数据快照完成后主服务器会将其发送给从服务器。从服务器在接收到数据快照后会删除所有旧数据然后使用接收到的数据快照来加载新数据。主服务器发送缓存的写命令数据快照发送完成后主服务器会将在数据快照过程中记录的所有写命令发送给从服务器。从服务器在接收到这些命令后会按照接收的顺序执行这些命令以确保其数据与主服务器的数据保持一致。主从同步完成进入命令转发阶段完成上述步骤后主从服务器的数据就同步了。之后主服务器每执行一次写命令就会将这个命令发送给所有的从服务器。从服务器在接收到写命令后会执行这个命令以确保其数据始终与主服务器的数据保持一致。3. 主从模式的配置和使用 配置主从模式相对简单只需要在从节点的配置文件中设置主节点的 IP 地址和端口号然后启动从节点即可。从节点会自动连接到主节点并开始复制数据。在发布时间是 2025 年 6 月 5 日FAQRedis 主从复制延迟如何优化可通过调整 repl-disable-tcp-nodelay 参数关闭则及时同步占带宽开启则合并数据包节省带宽但增加延迟适用于网络环境复杂场景。哨兵模式如何实现故障自动切换哨兵监控主节点状态当主节点宕机达到配置时间后哨兵集群通过多数共识机制选举新的主节点实现自动故障转移。主从配置命令是什么在从服务器命令行执行 slaveof host port 成为从节点执行 slaveof no one 取消从节点推荐配置 slave-read-only yes 确保只读。