redis主从+哨兵搭建配置参考
1.1、redis主从复制概述
主从复制,是指将一台redis服务器的数据,复制到其他的redis服务器,前者称为主节点(master),后者称为从节点;数据的复制是单向的,只能由主节点到从节点
且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。
1.2、主从复制的作用
- 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式
- 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余
- 负载均衡:在主从复制的接触上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写redis数据时应用连接主节点,读redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读均衡,可以大大提高redis服务器的并发量
- 高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是redis高可用的基础
1.3、主从复制流程
- 若启动一个slave机器进程,则它会向master机器发送一个“sync command”命令,请求同步连接
- 无论是第一次连接还是重新连接,master机器都会启动一个后台进程,将数据快照保存到数据文件中(执行rdb操作),同时master还会记录修改数据的所有命令并缓存在数据文件中
- 后台进程完成缓存操作之后,master机器就会向slave机器发送数据文件,slave端机器将数据文件保存到硬盘上,然后将其加载到内存中,接着master机器就会将修改数据的所有操作一并发送给slave端机器。若slave出现故障导致宕机,则恢复正常后会自动重新连接
- 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个哨兵监控主节点的状态,一旦主节点宕机,三个哨兵就会从 从节点中选举新的主节点,并修改从节点的配置文件为主节点,主节点再次启动将变为从节点,所有的配置都是跟随节点的状态改变而改变。哨兵配置也是随时改变的。纠正一下之前理解的误区: 哨兵仅仅是用来监控主节点的变化,从节点变化会通过主节点被哨兵检测到,从而参加后续主节点选举的功能。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具