Redis主从配置(Sentinel和Failover)的方法实现

 更新时间:2026年07月23日 09:11:22   作者:linmoo2006  
本文介绍如何配置Redis的主从复制及哨兵系统,包括配置文件的详细设置、启动流程以及注意事项,通过三台物理机搭建环境,实现数据同步和故障转移,感兴趣的可以了解一下

1. 结构图

设计结构图如下,三台物理机子;

192.168.0.101为Master,其余2台为Slave。

2. Master的redis.conf配置

# 开启守护模式  
daemonize yes  
# 设置密码
requirepass redis
# 指定数据存储目录  
dir ./
# 每秒一次aof写  
appendfsync everysec  
# 打开aof持久化  
appendonly yes
#设置Master的密码(如果Master有密码的话)
masterauth  redis
#3.2之后新加特性,在没有配置密码和bind是启用保护机制
protected-mode no
#注释掉bind
#bind 127.0.0.1

3. Slave的redis.conf配置

# 开启守护模式  
daemonize yes
# 设置密码
requirepass redis
# 指定数据存储目录  
dir ./
# 每秒一次aof写  
appendfsync everysec  
# 打开aof持久化  
appendonly yes
# 指定所属的主机  
slaveof 192.168.0.101 6379
#设置Master的密码(如果Master有密码的话)
masterauth  redis
# 指定从机"只读"  
slave-read-only yes
#3.2之后新加特性,在没有配置密码和bind是启用保护机制
protected-mode no
#注释掉bind
#bind 127.0.0.1

4. 启动redis

这时候可以分别启动3台redis,在master中设置数据,会同步到其它2台slave中。

5. Sentinel.conf配置

# sentinel通讯端口  
port 26379  
#3.2之后新加特性,在没有配置密码和bind是启用保护机制
protected-mode no
# sentinel需要监控的master/slaver信息,格式为sentinel monitor <mastername> <masterIP> <masterPort> <quorum>  
# 其中<quorum>应该小于集群中slave的个数,当失效的节点数超过了<quorum>,则认为整个体系结构失效  
sentinel monitor myMaster  192.168.0.101 6379 1  
# sentinel auth-pass <master-name> <password>
sentinel auth-pass myMaster  redis
# master被当前sentinel实例认定为失效的间隔时间,格式为sentinel down-after-milliseconds <mastername> <milliseconds>  
sentinel down-after-milliseconds myMaster 10000  
# 当新master产时,同时进行“slaveof”到新master并进行同步复制的slave个数  
# 在salve执行salveof同步时,将会终止客户端请求。  
# 此值较大,意味着“集群”终止客户端请求的时间总和和较大。  
# 此值较小,意味着“集群”在故障转移期间,多个salve向客户端提供服务时仍然使用旧数据。  
sentinel parallel-syncs myMaster 1  
# failover过期时间。当failover开始后,在此时间内仍然没有触发任何failover操作,当前sentinel将会认为此次failoer失败。  
sentinel failover-timeout redisMaster 60000 

6. 启动sentinel

分别启动3台的sentinel,会显示同步情况。

7. 注意事项

  1. protected-mode设置默认是yes,这会导致无法连接master,需要设置为no
  2. 如果slave被关掉,这sentinel会通知各个机子
  3. 如果master被关掉,那么会在剩下的slave中投票出一台作为master,系统会自动修改各自的redis.conf和sentinel.conf文件。如果原先主机重启,则会被当做是一台slave。

到此这篇关于Redis主从配置(Sentinel和Failover)的文章就介绍到这了,更多相关Redis主从配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • redis内部数据结构之SDS简单动态字符串详解

    redis内部数据结构之SDS简单动态字符串详解

    SDS是Redis中实现的一种数据结构,用来存储字符串,最近学习中正好学习到了这里,所以下面这篇文章主要给大家介绍了redis内部数据结构之SDS简单动态字符串的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • Redis数组和链表深入详解

    Redis数组和链表深入详解

    这篇文章主要介绍了Redis数组和链表深入详解,这是redis的基础的知识点,有感兴趣的同学可以学习下
    2021-03-03
  • Redis常用数据类型命令实例汇总

    Redis常用数据类型命令实例汇总

    这篇文章主要介绍了Redis常用数据类型命令实例汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Redis 配置与优化完全指南

    Redis 配置与优化完全指南

    本文系统讲解Redis作为高性能内存数据库的核心特性,涵盖与关系型数据库对比、安装部署、常用命令、持久化机制(RDB/AOF)、高可用方案及性能优化,重点分析缓存穿透、击穿、雪崩问题的解决方案,助力掌握Redis在高并发场景下的应用与管理,感兴趣的朋友跟随小编一起看看吧
    2025-09-09
  • Redis 持久化机制的使用小结

    Redis 持久化机制的使用小结

    Redis提供了几种持久化机制,可以在不同的应用场景中选择适合的方式来保存数据,以确保即使Redis服务器重启或发生故障,数据仍然不会丢失,下面就来一起了解一下
    2026-04-04
  • Redis 哨兵高模式搭建及Java代码配置

    Redis 哨兵高模式搭建及Java代码配置

    这篇文章主要介绍了Redis 哨兵高模式搭建及Java代码配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 保证Redis中存储的Token安全性的示例详解

    保证Redis中存储的Token安全性的示例详解

    确保Redis中存储的Token安全性是一个多层面的任务,涉及到网络、应用、数据和操作等多个方面的安全措施,本文给大家介绍了一些详细的实践建议和示例,并有详细的代码供大家参考,需要的朋友可以参考下
    2024-03-03
  • 使用redis如何生成自增序列号码

    使用redis如何生成自增序列号码

    这篇文章主要介绍了使用redis如何生成自增序列号码,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Redis实现附近商铺的项目实战

    Redis实现附近商铺的项目实战

    本文主要介绍了Redis实现附近商铺的项目实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Redis设置key的过期时间

    Redis设置key的过期时间

    本文主要介绍了Redis设置key的过期时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论