Redis之主从复制

概念

逐级数据更新后,根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slaver以读为主

用途

1.读写分离
2.容灾恢复

如何使用

1.配置从机(备机) 命令slaveof 主库ip 主库端口号
2.每次与master断开之后,都需要重新连接,除非配置修改入redis.conf

redis.conf修改

不同机器的配置文件
1.vim 撇脂文件名字
2.daemonize yes
3.使用的pid文件 porfile /var/run/redis端口号.pid
4.端口号 port 端口号
5.日志名字 “日志名字有端口号区分”
logfile “mylog6379.log”
6.备份文件rdb名字,名字中含有端口号区分
dbfilename dump6379.rdb

复制原理

1.slave启动成功连接到master 后会发送一个sync命令
2.master接到命令启动后台的存盘进程,同时收集所有接受到的用于修改数据命令集,在后台执行完毕后,master把整个数据文件传送给slave,完成全量复制

全量复制:salve服务在接受到数据可文件数据后,将其存盘并加载到内存中
增量复制:master将新的所有收集的命令传给slave,完成同步

只要重新连接master,就会进行一次全量复制

细节

1.只有master主机写的权限,slave只有读的权限
所以从机不能存储值
2.主机dowm掉,从机会换角色么?
不会,还是slave
这是主机突然又启动了,还是可以进行主从复制的工作么?
可以的,主机启动开始存储值,从机可以读取到
3.从机down掉之后,可以正常工作么?
不能,读取不到任何主机的值,需要重新与主机建立连接

常见主从策略

1.一台主机,多台机器从机(备机)
2.一台主机,下面连着一个从机(备机),同时这个从机(备机),是另一个从机(备机)的主机
中间的从机身份是slave
3.当主机挂了之后,手动将某一个从机(备机)变为主机,其他从机(备机)选择与新主机建立连接
4.哨兵模式
当主机挂了之后,后台监控 在从机中根据投票数选取主机
后台监控,自动选取

如果原来的主机恢复了,那么会怎么样?
原来的主机启动,会被哨兵监控到,告诉现在的主机是xxx,原来的主机变为从机(备机)

哨兵模式怎么使用?

1.新建配置文件 可以自定义起名字 sentinel.conf
2.vim 编辑文件 加入内容 sentinel monitor host6379(自己起名字) 1270.0.1 6379(监控的端口号) 1(投票数量)
1代表主机挂掉之后,从机slave投票超过数量1 即成为主机
3.启动哨兵
redis-sentinel /myredis/sentinel.conf(配置文件的位置)

演示

1.主机挂掉
在这里插入图片描述
2.投票选举
在这里插入图片描述

3.查看身份
在这里插入图片描述

常用命令

1.slaveof 主机ip 主库端口号
复制主库的数据但这台机器上
2.info replication
显示机器主从配置角色详细信息,role:master(主机)/slave(读)
3.slave no one
将从机变为主机

复制缺点

由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,
所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。

参考资料:尚硅谷周阳redis讲解

本文若有错误请指正,互相学习,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值