1、复制的工作过程:
主库会给予pingcheck方式检查从库是否在线,如果在线则直接同步数据文件至服务端,从服务端也可以主动发送同步请求到主服务端,主库如果是启动了持久化功能时,会不断的同步数据到磁盘上,主库一旦受到从库的同步请求时,主库会将内存中的数据同步给从库,从库得到以后是保存在本地文件中(磁盘),而后则把文件装载到内存中完成数据重建,链式复制也同步如此,因为主是不区分是真正的主,还是另外一个的从
1、启用slave
2、slave会向master发送同步命令,请求主库上的数据,不论从是第一次连接,还是非第一次连接,master此时都会启动一个后台的子进程将数据快照保存在数据文件中,然后把数据文件发送给slave
3、slave收到数据文件以后会保存到本地,而后把文件重载装入内存
特点:
1、一个master可以有多个slave
2、支持链式复制(一个slave也可以是其他的slave的slave)
3、master以非阻塞方式同步数据至slave(master可以同时处理多个slave的读写请求,slave端在同步数据时也可以使用非阻塞方式)
2、启动复制功能:
(1)使用用户端启用:
在slave上:
SLAVAOF MASTER_IP MASTER_PORT
例子:slaveof 192.168.80.100 6379
(2)使用配置文件/etc/redis.conf(在从库操作)
slaveof 192.168.80.100 6379
在从库上查看&#