redis的复制(Master/Slave)
1.是什么?
就是主从复制,主机数据更新后根据配置和策略自动同步到备机的master/slave机制,Master以写为主,Slave以读为主
2.能干嘛?
• 读写分离:只有主机可以进行写操作,从机不能进行写操作(从机如果执行写操作压根就写不进去)
• 容灾恢复
3.怎么玩
• 配从(库)不配主(库)
• 从库配置:slave of 主库ip 主库端口 :每次与Master断开,都需要重新连接,除非你配置进redis.conf文件中
• 修改配置文件细节操作:怎么配置可以找百度
• 常用三招:
• 一主二仆:一个主机,两个从机,这两个从机都是这个主机的小弟
• 薪火相传:A主机->B从机->C从机
• 反客为主:master挂了,则在从机上使用slave of no one命令使当前数据库停止与其他数据库的同步,转成主数据库
• 哨兵模式:反客为主的自动版:如果master挂了,从机会根据策略自动选出新的master;这时如果原来的master回来了,它仍然要跟着新master和其他从机一样成为从机
4.复制原理:
• Slave启动成功连接到master会发送一个sync同步命令
• 首次是全量复制:第一次连接上master主机时会全部复制主机的数据,只要重连了一次都会执行一次全量复制
• 后面是增量复制:后面就是主机写了哪些数据从机再加哪些数据
5.复制的缺点:复制延迟