redis之间的复制使用的三种机制:
1,当master和slave正常连接的时候,master会通过命令持续向slave发送更新流,以保证发生在master 里任何数据集中的任何变更都会同步到slave。
2,当master和slave之间的连接由于网络问题或者在master到slave之间超时而导致连接断开的时候,slave会尝试重新连接并尝试继续部分重新同步。
3,如果部分更新失败,slave会发起一个全量同步。master需要创建一个其所有数据的快照,发送给slave,然后继续以发送命令的方式发送变更。
创建主从复制
1,配置master
#vi /etc/redis.conf
//注释如下内容
#bind 127.0.0.1
//更改如下内容
requirepass redisPwd
//修改如下内容
appendonly yes
appendfilename "appendonly.aof"
修改完成后保存退出;在redis统计目录里,复制一个redis,作为slave。
cp -r redis redis_slave
2,配置slave
slave的配置过程和master大致相同
//启用如下内容,后面输入master的密码
masterauth redisPwd
//由于测试在同一个虚拟机上进行,所以需要更改slave的port
port 6389
修改完成后保存。分别启动master和slave,进行测试。