redis主从复制学习笔记

------------redis master slaver 主从复制----------------------------------------
行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。Master定期把数据同步到从节点保证数据的一致性

info replication #查看主从复制信息
slaveof 192.168.1.100 6379 #在从机上设置主机,只有设置后才会有主从复制,主机不需要做任何配置
slaveof no one #关闭复制,从机变主机

#除了手动启动slaveof 192.168.1.100 6379外,还可以将该命令加入到redis.conf文件中,这样服务器启动就默认设置主从关系

从机以读为主,不能使用set命令,否则报错

上一个slave可以是下一个slave的master,slave同样可以接收切条slaves的连接和同步请求,那么该slave作为链条中的下一个的master,可以有效减轻master的写压力

主从复制原理:
1. slave启动成功连接到master后会发送一个sync命令
2. Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步
3. 全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
4. 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步
5. 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行

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

------------哨兵模式 sentinel----------------------------------------
能够后台监控主机是否故障,如果故障了根据投票数自动将从机转换为主机

如何配置:
新建sentinel.conf文件,名字绝不能错,输入如下内容
sentinel monitor <master-name> <ip> <redis-port> <quorum>  
例:entinel monitor myhost 192.168.1.100 6379 可以监控多个主机 entinel monitor myhost2 192.168.1.101 6379 1
master-name:主机名,名字随便起
quorum:一个数字,主机故障后,剩下的从机投票决定谁来当主机,谁的票数超过1,谁就当主机。平票则重新投票

如何启动:
redis-sentinel /usr/local/bin/sentinel.conf #redis-sentinel是安装目录下的可执行文件

如果工作:
1. 当master发生故障后,则会投票选择从机作为新的master
2. 当master恢复后,则会将master自动设置为slaver

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值