Redis之主从同步

1.Redis安装

2.主从同步

主从同步使用的是发布/订阅机制,一般主服务以写操作为主,从服务以读操作为主。
数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。
同步对读取操作的可扩展性和数据冗余很有帮助。

3.一主二从

在这里插入图片描述
准备:三台机器已安装好Redis

机器IP端口服务
yzm1192.128.192.128:6381master
yzm2192.128.192.129:6381slave
yzm3192.128.192.130:6381slave

也可以通过单机多Redis实例实现,比如

机器IP端口服务
yzm1192.128.192.128:6381master
yzm1192.128.192.128:6382slave
yzm1192.128.192.128:6383slave

这里演示是三台机器实现的

3 master服务

cd /usr/local/redis/redis-6.2.4/
# 新建redis-6381.conf启动文件
vim conf/redis-6381.conf

-----------------------编辑内容--------------------------------------
#端口
port 6381

#绑定IP
bind 192.168.192.128

#关闭保护模式,允许外部访问
protected-mode yes

#授权密码
requirepass 3Q3Q

#守护进程,即后台启动
daemonize yes

#进程ID,默认/var/run/redis.pid
pidfile /var/run/redis-6381.pid

#日志
loglevel notice
logfile "/usr/local/redis/redis-6.2.4/logs/log-6381.log"

#数据文件
dir /usr/local/redis/redis-6.2.4/db/
dbfilename dump-6381.rdb

#数据同步
save 900 1
save 300 10
save 60 10000

在这里插入图片描述

启动master服务
./bin/redis-server ./conf/redis-6381.conf
在这里插入图片描述

查看master信息
./bin/redis-cli -h 192.168.192.128 -p 6381 -a 3Q3Q
info replication
在这里插入图片描述
role:master # master服务
connected_slaves:0 #当前没有slave服务

4 slave服务

yzm2和yzm3同样的操作

#新建redis-6381.conf
vim conf/redis-6381.conf
-----------------------------------编辑内容-----------------------------
#端口
port 6381

#绑定IP
bind 192.168.192.129

#关闭保护模式,允许外部访问
protected-mode yes

#授权密码
requirepass 3Q3Q

#守护进程,即后台启动
daemonize yes

#进程ID,默认/var/run/redis.pid
pidfile /var/run/redis-6381.pid

#日志
loglevel notice
logfile "/usr/local/redis/redis-6.2.4/logs/log-6381.log"

#数据文件
dir /usr/local/redis/redis-6.2.4/db/
dbfilename dump-6381.rdb

#数据同步
save 900 1
save 300 10
save 60 10000

#master
slaveof 192.168.192.128 6381
masterauth 3Q3Q

在这里插入图片描述
在这里插入图片描述

启动slave服务
在这里插入图片描述
在这里插入图片描述
salve服务
role:slave
master_host:192.168.192.128 #master服务IP
master_port:6381
再看master服务
在这里插入图片描述
role:master
connected_slaves:2
slave0:ip=192.168.192.129,port=6381,state=online,offset=392,lag=1
slave1:ip=192.168.192.130,port=6381,state=online,offset=392,lag=1

5 数据同步

在master服务新增数据name=yzm1,在slave服务上能成功获取到name=yzm1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在slave服务新增数据name2=yzm2
在这里插入图片描述
(error) READONLY You can’t write against a read only replica.
slave服务默认是只读的

6.既主又从

在这里插入图片描述

机器IP端口服务
yzm1192.128.192.128:6381master
yzm2192.128.192.129:6381slave
yzm3192.128.192.130:6381master or slave
yzm3192.128.192.130:6382slave

yzm3 新增redis-6382.conf

#端口
port 6382

#绑定IP
bind 192.168.192.130

#关闭保护模式,允许外部访问
protected-mode yes

#授权密码
requirepass 3Q3Q

#守护进程,即后台启动
daemonize yes

#进程ID,默认/var/run/redis.pid
pidfile /var/run/redis-6382.pid

#日志
loglevel notice
logfile "/usr/local/redis/redis-6.2.4/logs/log-6382.log"

#数据文件
dir /usr/local/redis/redis-6.2.4/db/
dbfilename dump-6382.rdb

#数据同步
save 900 1
save 300 10
save 60 10000

#master
slaveof 192.168.192.130 6381
masterauth 3Q3Q

在这里插入图片描述

注意:master配置指向yzm3的6381

启动yzm3的6382
查看yzm3的6381信息
在这里插入图片描述
connected_slaves:1 #原来是0的
slave0:ip=192.168.192.130,port=6382,state=online,offset=0,lag=0 #多了salve
查看yzm3的6382信息,另开一窗口
在这里插入图片描述
yzm3的6382是yzm3的6381的slave服务,可以从6381获取到数据

如果master服务即yzm1的6381挂了,yzm3的6381升级为master
关闭yzm1的6381
在这里插入图片描述
在这里插入图片描述
yzm3的6381升级为master
slaveof no one
在这里插入图片描述
在把yzm2的6381slave服务挂载到yzm3的6381下面
slaveof 192.168.192.130 6381
在这里插入图片描述
在这里插入图片描述
这样就重新组成了主从架构

相关链接

首页
上一篇:Linux安装
下一篇:哨兵模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值