Redis主从架构搭建

本文介绍了如何搭建Redis的一主一从架构,确保服务高可用性和数据一致性。通过修改配置文件设定主从节点,详细步骤包括:安装Redis、配置主从、启动节点、检查拓扑状态,并验证主从复制的有效性。后续将讨论手动主从切换和哨兵机制的应用。

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

       为保证Redis服务的高可用性,可以设计一主一从Redis部署方案,从节点实时同步主节点的数据(单向主从复制原理),保证了两节点的数据一致性,同时当主节点宕机时,可切换从节点为主节点,防止数据丢失。下面介绍简单搭建流程,主从可搭建在一台服务器中,也可分别在两台服务器中,后者更为稳定。 

         

       下载redis的压缩包,安装redis,这里不做描述,可自行下载和安装,也可下载免安装压缩包(我搭建使用的免安装redis),安装好redis之后,我们进行主从架构搭建操作:

1、进入redis安装路径下,查看redis命令是否可用正常使用2、

2、修改redis配置文件,部署主从拓扑结构(修改前请先备份)

(1)设置主(Master)节点

vim redis.conf

按照如下文件内容进行配置:

daemonize yes

#yes表示redis程序在后台启动

pidfile /usr/local/redis/redis-v3.0.7/var/run/redis.pid

#设置存放进程运行pid的文件路径(根据具体部署路径修改)

port 16379

#当前Redis节点(Master)监听的端口号,可自行修改

logfile "/usr/local/redis/redis-v3.0.7/log/redis.log"

#设置日志文件的路径(根据具体部署路径修改)

dir /usr/local/redis/redis-v3.0.7

#实现主从复制时,生成文件的路径(根据具体部署路径修改)

slave-read-only no

#是否设置为只读模式,默认为no,表示不设置

requirepass redis

#连接当前Redis需要输入密码capitek才能正常访问,密码不推荐修改

masterauth redis

#从节点(Slave)访问主节点(Master)时需要输入的密码,此处同样设定为capitek,但是可以与上述的requirepass不一致,密码不推荐修改

save ""

#不启动持久化(RDB)模式

appendonly no

#no表示不启动持久化(AOF)模式

 

(2)设置从(Slave)节点

vim redis.conf

按照如下文件内容进行配置:

daemonize yes

#yes表示redis程序在后台启动

pidfile /usr/local/redis/redis-v3.0.7/var/run/redis.pid

#设置存放进程运行pid的文件路径(根据具体部署路径修改)

port 26379

#当前Redis节点(Master)监听的端口号,可自行修改

logfile "/usr/local/redis/redis-v3.0.7/log/redis.log"

#设置日志文件的路径(根据具体部署路径修改)

dir /usr/local/redis/redis-v3.0.7

#实现主从复制时,生成文件的路径(根据具体部署路径修改)

requirepass redis

#连接当前Redis需要输入密码capitek才能正常访问,密码不推荐修改

masterauth redis

#从节点(Slave)访问主节点(Master)时需要输入的密码,此处同样设定为capitek,但是可以与上述的requirepass不一致,密码不推荐修改

slave-read-only no

#是否设置为只读模式,默认为no,表示不设置

appendonly no

#no表示不启动持久化(AOF)模式

save ""

#不启动持久化(RDB)模式

slaveof 192.168.0.102 16379

#当前从节点(Slave)所依赖的主节点的ip地址和端口号 (例:192.168.0.102 主机上16379端口的Redis,此处根据主节点信息进行修改)

3、先启动主节点,再启动从节点

./redis-server /usr/local/redis/redis-v3.0.7/redis.conf

#启动命令必须指定配置文件路径,上述主从关系配置才能生效。

ps -ef|grep redis

#查看进程是否启动,显示指定端口下的redis-server服务进程,参照下图

4、登录主节点和从节点查看主从拓扑状态

./redis-cli -p 16379 -a redis        #登录命令

info replication                           #查看拓扑结构

(1)role:master表示当前已设置为主节点

connected_slaves: 1表示当前节点下有一个从节点

slave0展示的是从节点的信息

(2)role:slave表示当前为从节点

master_host表示主节点IP

master_port表示主节点端口

role:slave表示当前为从节点

master_host表示主节点IP

master_port表示主节点端口

5、在主节点中使用set 命令插入数据,在从节点中查看是否有该数据,有则说明主从复制生效,主从架构部署成功。

这里是简单的主从结构,主节点宕机之后需要手动进行主从切换,之后会整理手动主从切换内容。实际项目中一般会用到哨兵机制,可以实时监控和自动切换主从架构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值