目录
1 主从复制
1.1 一主二从原理
1、配从(库)不配主(库)
2、配从(库): slaveof 主库IP 主库端口
3、主写从读、读写分离
4、从连前后同
5、主断从待命、从断重新连
1.2 一主二从的搭建以及相关操作
第一步:将redis.conf 拷贝三份,名字分别是,redis6379.conf,redis6380.conf,redis6381.conf
第二步:修改三个文件的port端口,pid文件名,日志文件名,rdb文件名如:
port 6379
pidfile /var/run/redis_6379.pid
logfile "6379.log"
dbfilename dump6379.rdb
第三步:分别打开三个窗口模拟三台服务器,开启redis服务。
1.查询主从信息:info replication
2 设置主从关系:在6380和6381主机上分别执行命令:slaveof 127.0.0.1 6379
3.主机宕机:6379执行指令shutdown,并查看6380和6381的redis信息 从机原地待命。
从机上位步骤:
第一步:主机宕机,6379执行命令:shutdown
第二步:6380断开主从关系,执行命令:SLAVEOF no one
第三步:重新搭建主从,6381执行命令:info replication,SLAVEOF 127.0.0.1 6380
第四步:之前主机恢复,重启6379的Redis服务,并执行命令:info replication
1.3 复制原理
全量复制:slave启动成功连接到master后会发送一个sync命令;Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步;slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
只要是重新连接master,一次完全同步(全量复制)将被自动执行。
增量复制:Master将新的所有收集到的修改命令依次传给slave,完成同步。
2 哨兵模式
从机上位的自动版。Redis提供了哨兵的命令,哨兵命令是一个独立的进程,哨兵通过发送命令,来监控主从服务器的运行状态,如果检测到master故障了根据投票数自动将某一个slave转换master,然后通过消息订阅模式通知其它slave,让它们切换主机。然而,一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多哨兵进行监控。