Redis 双机部署完整方案(两种架构适配两台机器)

 更新时间:2026年05月09日 09:46:10   作者:BullSmall  
本文介绍了Redis双机高可用标准方案:采用1主1从+双哨兵架构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

先明确:原生 Redis Cluster 集群不能双机做高可用(最少 3 主),双机只能用「主从 + 哨兵」架构,是企业双机标准方案。

一、架构选型(双机唯一可行方案)

两台服务器:

  • 节点 A:主节点 Master
  • 节点 B:从节点 Slave + 哨兵
  • 两台都部署 Sentinel 哨兵

架构:1 主 1 从 + 双哨兵✅ 支持自动故障转移、主从切换、高可用❌ 不是 Redis-Cluster 分片集群(无哈希槽、不分片)

二、部署拓扑

机器1(10.0.0.1):
  Redis-Master  + Sentinel-1
机器2(10.0.0.2):
  Redis-Slave   + Sentinel-2

核心优势

  1. 刚好两台机器,满足等保 / 双机热备要求
  2. 主库宕机,从库自动升级为主库
  3. 故障恢复后自动重新加入集群
  4. 配置简单、运维成本低

三、关键配置

1、Master 配置(机器 1 redis.conf)

port 6379
bind 0.0.0.0
daemonize yes
requirepass 123456
masterauth 123456

2、Slave 配置(机器 2 redis.conf)

port 6379
bind 0.0.0.0
daemonize yes
requirepass 123456
masterauth 123456
# 指向主库
replicaof 10.0.0.1 6379

3、双哨兵配置(两台 sentinel.conf 都配置)

port 26379
daemonize yes
# 监控主库,mymaster自定义名称,1=法定票数
sentinel monitor mymaster 10.0.0.1 6379 1
sentinel auth-pass mymaster 123456
# 主库多久失联判定下线
sentinel down-after-milliseconds mymaster 30000
# 故障转移超时
sentinel failover-timeout mymaster 60000

投票数填 1:双哨兵环境必须这样,否则无法达成选举

四、启动顺序(严格按顺序)

  1. 启动主库 redis(机器 1)
  2. 启动从库 redis(机器 2)
  3. 两台机器分别启动 sentinel
redis-sentinel /etc/redis/sentinel.conf

五、故障模拟验证

  1. 关闭机器 1 Redis
  2. 哨兵自动感知,机器 2 从库自动升为主库
  3. 业务切换新主节点写入
  4. 恢复机器 1 Redis,自动变为新主的从库

六、业务连接写法

业务直接连接哨兵,而非固定主从:

sentinel://10.0.0.1:26379,10.0.0.2:26379/mymaster

自动获取当前真实主节点地址,无感切换。

七、重要禁忌

  1. 不要用 Redis Cluster 做双机Cluster 至少 3 主,双机强行部署会脑裂、集群不可用。
  2. ✅ 双机热备 = 主从 + 哨兵 标准方案
  3. 数据强一致:开启 replica-serve-stale-data no

八、极简总结

  • 双机不能用 Redis 集群 (Cluster)
  • 双机标准方案:1 主 1 从 + 双哨兵
  • 满足:双机部署、自动切换、高可用、生产可用
  • 适合:中小项目、数据库双机热备架构

到此这篇关于Redis 双机部署完整方案(两种架构适配两台机器)的文章就介绍到这了,更多相关Redis 双机部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Redis实现Session持久化的示例代码

    Redis实现Session持久化的示例代码

    Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,本文主要介绍了Redis实现Session持久化的示例代码,感兴趣的可以了解一下
    2023-09-09
  • Redis 的查询很快的原因解析及Redis 如何保证查询的高效

    Redis 的查询很快的原因解析及Redis 如何保证查询的高效

    由于redis是内存数据库,归功于它的数据结构所以查询效率非常高,今天通过本文给大家介绍下Redis 的查询很快的原因解析及Redis 如何保证查询的高效,感兴趣的朋友一起看看吧
    2022-03-03
  • Redis高并发问题的解决方法

    Redis高并发问题的解决方法

    这篇文章主要介绍了Redis高并发问题的解决办法,具有很好的参考价值,感兴趣的小伙伴们可以参考一下,具体如下:
    2018-05-05
  • Redis 缓存双写一致性的解决方案

    Redis 缓存双写一致性的解决方案

    本文主要介绍了Redis 缓存双写一致性的解决方案,包括CacheAsidePattern、ReadThrough/WriteThrough和WriteBehind三种模式,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • Redis实现优惠券限一单限制详解

    Redis实现优惠券限一单限制详解

    这篇文章主要介绍了Redis解决优惠券秒杀应用案例,本文先讲了抢购问题,指出其中会出现的多线程问题,提出解决方案采用悲观锁和乐观锁两种方式进行实现,然后发现在抢购过程中容易出现一人多单现象,需要的朋友可以参考下
    2022-12-12
  • Redis不同数据类型使用场景代码实例

    Redis不同数据类型使用场景代码实例

    这篇文章主要介绍了Redis不同数据类型使用场景代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • window环境redis通过AOF恢复数据的方法

    window环境redis通过AOF恢复数据的方法

    这篇文章主要介绍了window环境redis通过AOF恢复数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Redis数据一致性详解

    Redis数据一致性详解

    文章主要讨论了分布式系统中的数据一致性模型、缓存使用场景以及数据同步策略,一致性模型包括强一致性、弱一致性和最终一致性,缓存使用场景主要在高并发读取数据时提升性能,数据同步策略分为先删除缓存再更新数据库和先更新数据库再删除缓存两种
    2024-11-11
  • Redis数据结构之链表详解

    Redis数据结构之链表详解

    大家好,本篇文章主要讲的是Redis数据结构之链表详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • SpringBoot整合Mybatis-plus和Redis实现投票功能

    SpringBoot整合Mybatis-plus和Redis实现投票功能

    投票功能是一个非常常见的Web应用场景,这篇文章将为大家介绍一下如何将Redis和Mybatis-plus整合到SpringBoot中,实现投票功能,感兴趣的可以了解一下
    2023-05-05

最新评论