千家信息网

Redis中主从复制和哨兵模式的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关Redis中主从复制和哨兵模式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。主从复制指的是把一台Redis服务器的数据复制到其他Redi
千家信息网最后更新 2026年11月01日Redis中主从复制和哨兵模式的示例分析

这篇文章给大家分享的是有关Redis中主从复制和哨兵模式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

主从复制指的是把一台Redis服务器的数据复制到其他Redis服务器上,前者称为主节点Master,后者称为从节点Slave,只能从Master单向复制到Slave,一般Master以写操作为主,Slave以读操作为主,实现读写分离。

作用

  1. 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

  2. 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。

  3. 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。

  4. 高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。

命令

命令作用
slaveof host port将当前服务器转变为指定服务器的从属服务器。如果已是slave则停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。SLAVEOF NO ONE将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。
info [section]INFO命令以一种易于理解和阅读的格式,返回关于Redis服务器的各种信息和统计数值。通过给定可选的参数section,可以让命令只返回某一部分的信息:

配置

以单机多服务为例(正常是多机多服务,然我只有一台服务器)

首先每个redis客户端都默认是主机,可以通过info replication命令查看。

那么我们现在要同时开三个客户端,模拟一主两从,所以要修改配置:

  1. 修改端口号

  2. 修改pid名字

  3. 修改log名字

  4. 修改rdb名字

  5. 设置主机连接(可不选,用命令行)

先拷贝两份配置文件作为从机配置,主机可使用默认。

以redis80.conf为例依次修改上述五点配置,81只改前四点。


然后启动他们(79、80、81)



设置主从:

  1. 80是在配置文件设置(永久式)好的,直接查看:

  2. 81没有配置,可以手动命令行设置

此时查看79(master):

复制原理


全量复制

从机每次连接主机时会全量复制,把主机的全部数据复制到从机。

增量复制

从机连上主机后,对于主机后面更新的数据,会只针对这部分数据同步更新给从机。

测试

  1. 从机默认只读,会增量复制同步主机的数据:


  2. 主机宕机情况:




    3.从机宕机情况:




嵌套主从


如图79是80的主机,而80又是81的主机,这种嵌套主从关系。





哨兵模式


上面的80上位和嵌套主从都是我们手动命令行输入的,其目的就是避免主机宕机后写操作的空窗期,这些都是需要人工干预。
哨兵Sentinel会作为一个独立的进程独立运行,其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis服务器。
如果哨兵检测到主机下线,则会选一个从机「上位」(自动故障迁移)成为新的主机。如果原主机上线,原主机将变成新主机的从机。其原理是通过发布订阅模式通知其他服务器,修改配置文件,从而切换主机。

如果哨兵宕机怎么办?可以使用多哨兵模式来互相监控。

图片摘自https://www.jianshu.com/p/06ab9daf921d,侵删

  • 主观下线(Subjectively Down, 简称 SDOWN)指的是单个哨兵实例对服务器做出的下线判断。

  • 客观下线(Objectively Down, 简称 ODOWN)指的是多个哨兵实例在对同一个服务器做出主观下线判断, 并且通过 SENTINEL is-master-down-by-addr 命令互相交流之后, 得出的服务器下线判断。

当主机客观下线后,哨兵会投票出新的主机(具体算法略 ),进行自动故障迁移(failover),通过发布订阅通知其他服务器切换主机。

配置哨兵

首先在安装目录下有一个详细注解的哨兵配置:

新建sentinel.conf来监视6379,其余默认即可:

启动哨兵:

测试









多哨兵模式,配置不同端口的配置文件来开启多个哨兵客户端,然后照葫芦画瓢即可(偷懒 )

感谢各位的阅读!关于"Redis中主从复制和哨兵模式的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

服务 主机 服务器 哨兵 数据 配置 主从 命令 节点 下线 模式 同步 多个 故障 文件 作用 冗余 原理 名字 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网佳科技有限公司 高科技互联网 美国互联网科技巨头监管 成都玖崟互联网科技有限公司乐商圈怎么样 银川新华互联网科技职业技术培训学校图片 和信科技工业互联网 互联网科技公司有风险吗 移动互联网年度科技创新 互联网科技和信息 互联网金融科技名词解释 厦门江牛科技互联网 2021世界互联网领先科技成果发布 山东大美朱楼互联网科技有限公司 上海乐五互联网科技有限公司 珠海东科互联网科技有限公司 云鲸互联网络科技有限公司 互联网时代科技型公司的机会 北京军民互联网科技公司 三亚科技创新互联网基地 优雇互联网科技有限公司 云南咖啡 互联网科技 有格互联网科技 深圳市人人互联网科技有限公司 互联网科技财经 善班互联网科技有限公司 电子科技大学互联网 互联网科技美容 中国科技互联网公司收入 九思连强互联网电子科技有限公司
0