redis系列-主从复制
2014-06-03 17:06
615 查看
redis自身提供了主从的机制,通过配置可以实现服务的备份(Master->Slave)。
Master收到SYNC判断后台是否有正在进行的内存快照保存子进程,没有则启动一个快照保存子进程,有则等待快照保存完成,将快照文件传送给要求同步的Slave
Slave收到快照文件后,清空内存,加载该快照
Master在保存快照过程中,会把改变数据集的命令缓存到一队列中,后续依次发给Slave;在以后的连接未中断过程中,会逐一发送写命令到Slave
2.slave在与Master断开连接或正在同步快照时,通过配置slave可以继续接收读请求或者拒绝请求
3.redis没有增量复制,每次新建同步连接都会全量同步快照。slave过多或者网络不稳定导致同步请求多,会增加Master的压力,影响其性能
4.redis作为缓存比较合适,做为数据库存储,那它的持久化、复制都有缺陷:重启时恢复内存、复制数据都要比较长的时间,出现延迟
5.Master如果采用AOF持久化,会出现同时写AOF和RDB的情况,响应会受到影响
本文做为铺垫,用于对搭建redis集群做准备。
配置项
slaveof <masterip> <masterport> masterauth <master-password> <master password=""> //如果master设置了requirepass password </master>
复制流程
Slave启动或重新与Master连接时,向Master发送SYNCMaster收到SYNC判断后台是否有正在进行的内存快照保存子进程,没有则启动一个快照保存子进程,有则等待快照保存完成,将快照文件传送给要求同步的Slave
Slave收到快照文件后,清空内存,加载该快照
Master在保存快照过程中,会把改变数据集的命令缓存到一队列中,后续依次发给Slave;在以后的连接未中断过程中,会逐一发送写命令到Slave
使用注意
1.通常Master可以配置成只写、不保存,Slave负责对外读、以及持久化(slave-read-only yes)2.slave在与Master断开连接或正在同步快照时,通过配置slave可以继续接收读请求或者拒绝请求
slave-serve-stable-data yes //继续提供服务 slave-server-stable-data no//不提供服务,返回错误"SYNC with master in progress"
3.redis没有增量复制,每次新建同步连接都会全量同步快照。slave过多或者网络不稳定导致同步请求多,会增加Master的压力,影响其性能
4.redis作为缓存比较合适,做为数据库存储,那它的持久化、复制都有缺陷:重启时恢复内存、复制数据都要比较长的时间,出现延迟
5.Master如果采用AOF持久化,会出现同时写AOF和RDB的情况,响应会受到影响
本文做为铺垫,用于对搭建redis集群做准备。
相关文章推荐
- 【Redis系列】Redis主从复制
- Redis系列-主从复制配置
- Redis系列~主从复制(十八)
- redis学习系列(五)--redis主从复制原理、断点续传、无磁盘化复制、过期key处理
- redis系列--主从复制以及redis复制演进
- Redis主从复制和集群配置系列之五
- Redis 笔记系列(十二)——Redis的主从复制、读写分离
- 缓存系列之四:redis持久化与redis主从复制
- redis系列-主从复制
- Redis主从复制和集群配置系列之六(redis集群节点新增、删除、重新分配slot实战)
- Redis 讲解系列之 Redis的主从复制(一)
- Redis 讲解系列之 Redis的主从复制(二)
- redis系列:主从复制
- redis系列之主从复制原理
- 集群与负载均衡系列(8)——redis主从复制+哨兵实现高可用性架构
- Redis系列之Redis主从复制(二)
- Redis系列-主从复制配置
- 面试宝典系列-读《深入学习Redis(3):主从复制》概要
- Redis系列-主从复制配置
- Redis系列八:redis主从复制和哨兵