redis主从+哨兵搭建配置参考

1.1、redis主从复制概述
主从复制,是指将一台redis服务器的数据,复制到其他的redis服务器,前者称为主节点(master),后者称为从节点;数据的复制是单向的,只能由主节点到从节点

且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。

1.2、主从复制的作用

  • 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式
  • 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余
  • 负载均衡:在主从复制的接触上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写redis数据时应用连接主节点,读redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读均衡,可以大大提高redis服务器的并发量
  • 高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是redis高可用的基础

1.3、主从复制流程

  1. 若启动一个slave机器进程,则它会向master机器发送一个“sync command”命令,请求同步连接
  2. 无论是第一次连接还是重新连接,master机器都会启动一个后台进程,将数据快照保存到数据文件中(执行rdb操作),同时master还会记录修改数据的所有命令并缓存在数据文件中
  3. 后台进程完成缓存操作之后,master机器就会向slave机器发送数据文件,slave端机器将数据文件保存到硬盘上,然后将其加载到内存中,接着master机器就会将修改数据的所有操作一并发送给slave端机器。若slave出现故障导致宕机,则恢复正常后会自动重新连接
  4. master机器受到slave端机器的连接后,将其完整的数据文件发送给slave端机器,如果master同时受到多个slave发来的同步请求,则master会在后台启动一个进程以保存数据文件,然后将其发送给所有的slave端机器,确保所有的slave端机器都正常

主节点配置:

# 绑定的主机地址(ip换成自己机器的地址)
bind 0.0.0.0

# redis进程的端口号
port 6379

#是否开启保护模式,默认开启。要是配置里没有指定bind和密码,开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码和bind,可以开启;否则最好关闭设置为no。
protected-mode no

# redis进程是否以守护进程的方式运行,yes为是(后台运行),no为否(不以守护进程的方式运行会占用一个终端)。
daemonize yes

# 设置数据库的数量,默认为0可以使用select <dbid>命令在连接上指定数据库id
databases 16

从节点配置

# 绑定的主机地址(ip换成自己机器的地址)
bind 0.0.0.0

# redis进程的端口号
port 6380

#是否开启保护模式,默认开启。要是配置里没有指定bind和密码,开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码和bind,可以开启;否则最好关闭设置为no。
protected-mode no

# redis进程是否以守护进程的方式运行,yes为是(后台运行),no为否(不以守护进程的方式运行会占用一个终端)。
daemonize yes

# 设置数据库的数量,默认为0可以使用select <dbid>命令在连接上指定数据库id
databases 16

#5.0之后的redis版本使用replicaof 127.0.0.1 6380 设置主节点服务器的信息
slaveof 127.0.0.1 6380

哨兵配置

#端口默认为26379。
port 26379

#关闭保护模式,可以外部访问
protected-mode no

#设置为后台启动
daemonize yes

#主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1

sentinel monitor mymaster 127.0.0.1 6380 1

扩展时复制从节点,哨兵即可。
大致过程描述: 如一主二从三哨兵就是 主节点负责写入数据,两个从节点复制主节点的数据。3个哨兵监控主节点的状态,一旦主节点宕机,三个哨兵就会从 从节点中选举新的主节点,并修改从节点的配置文件为主节点,主节点再次启动将变为从节点,所有的配置都是跟随节点的状态改变而改变。哨兵配置也是随时改变的。纠正一下之前理解的误区: 哨兵仅仅是用来监控主节点的变化,从节点变化会通过主节点被哨兵检测到,从而参加后续主节点选举的功能。

posted @   景伟·郭  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示