Redis 的读写主从复制及哨兵(sentinel)配置

本文介绍了Redis的主从复制配置,包括如何搭建主从架构,并展示了哨兵(sentinel)系统的设置过程,以实现自动监控和故障恢复。在主服务器异常时,哨兵能自动将从服务器提升为主服务器,确保服务连续性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis主从复制可以一个reids服务宕机,导致应用宕机的情况。同时可以构建读写分离架构,满足业务量大并发高的使用场景。

 

Redis主从架构拓扑图结构

Redis䏻仿¶æå¾ç¤º

 

主从架构的搭建

构建redis集群只需要启动多个实例即可,每个实例对应一个配置文件。这里我用到的端口分别是6379(master)、6380(slave)、6381(slave),直接把6379的配文件,复制为对应端口号命名的文件

[root@localhost etc]# cp 6379.conf 6380.conf
[root@localhost etc]# cp 6379.conf 6381.conf

修改6379的配置文件

requirepass 123456 //设置访问密码

分别修改6380、6381的配置文件

port 6380 //修改为对应的端口号

daemonize yes //允许守护进程启动

pidfile /var/run/redis_6380.pid //修改为对应的端口号

slaveof 127.0.0.1 6379 //复制功能,将作为6379的从服务器

masterauth 123456 //主服务器认证,填入主服务器的访问密码

requirepass 123456 //设置访问密码

启动redis实例

[root@localhost bin]# redis-server ../etc/6379.conf 
2253:C 30 Jul 17:28:52.270 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2253:C 30 Jul 17:28:52.271 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=2253, just started
2253:C 30 Jul 17:28:52.271 # Configuration loaded
[root@localhost bin]# redis-server ../etc/6380.conf 
2263:C 30 Jul 17:29:00.401 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2263:C 30 Jul 17:29:00.401 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=2263, just started
2263:C 30 Jul 17:29:00.401 # Configuration loaded
[root@localhost bin]# redis-server ../etc/6381.conf 
2269:C 30 Jul 17:29:04.394 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2269:C 30 Jul 17:29:04.395 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=2269, just started
2269:C 30 Jul 17:29:04.395 # Configuration loaded

来验证一下主从复制功能

[root@localhost ~]# redis-cli -p 6379
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=21363,lag=0
slave1:ip=127.0.0.1,port=6381,state=online,offset=21363,lag=0
master_replid:b8a5fb5265ed3757945eb741ebcec54c93978a70
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:21363
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:21363
127.0.0.1:6379> set test hello
OK
127.0.0.1:6379> exit
[root@localhost ~]# redis-cli
Redis 3.2版本支持主从复制哨兵模式。主从复制是指将一个Redis实例作为主节点,其他Redis实例作为从节点,主节点将数据同步到从节点,实现数据的备份和读写分离。哨兵模式是在主从复制的基础上引入了哨兵节点,哨兵节点负责监控主节点的状态,并在主节点宕机时自动将一个从节点升级为新的主节点,确保系统的高可用性。 在Redis 3.2中,启动主从复制哨兵模式的步骤如下: 1. 首先启动主服务器。 2. 然后启动从服务器。 3. 在启动哨兵节点之前,需要修改哨兵配置文件sentinel.conf,配置主节点和从节点的信息。 4. 最后启动哨兵节点。 需要注意的是,启动主服务器和从服务器的顺序很重要,应该先启动主服务器,再启动从服务器。这样可以确保主服务器在启动时已经准备好接收从服务器的连接。 总结起来,启动Redis 3.2的主从复制哨兵模式的步骤是先启动主服务器,再启动从服务器,最后启动哨兵节点。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [Redis主从复制哨兵机制详解](https://blog.youkuaiyun.com/weixin_43888891/article/details/131039418)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Redis主从复制哨兵模式、集群)概述及部署](https://blog.youkuaiyun.com/weixin_59663288/article/details/125560643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值