Redis主从复制
配从库 不配主库
从库配置: slaveof 主库IP 主库端口 (每次与master断开之后 , 都需要重新连接 , 除非你配置进redis.conf文件 info replication
修改配置文件细节操作
拷贝多个redis.conf文件
开启daemonize yes
pid文件名字
指定端口
log文件名字
dump.rdb名字
常用3招
一主二仆
info replication
一个Master 两个Slave
从机 slaveof 127.0.0.1 6379
当主机关闭时 从机仍然可以读取 当主机再次开启(仍然是两个从机的主机)
星火相传
上一个Slave可以是下一个Slave的Master , Slave同样可以接收其他Slaves的连接和同步请求 , 那么该Slave作为链条中下一个的master , 可有效减轻master的写压力
中途变更转向: 会清除之前的数据 , 重新简历拷贝最新的
SlaveOf 新主库IP 新主库端口
当主机挂掉就是去主机 (主机重启 重回主机位置)
反客为主
slaveof no one 当主机挂了 从机使用此命令升级为主机
复制原理:
Slave启动成功连接到master后会发送一个sync命令
Master接收到命令启动后台的存盘进程 , 同时手机所有接收到的用来修改数据集命令 , 在后台进程执行完毕后, master将传送整个数据文件到slave,以完成一次完全同步
全量复制: 而slave服务在接收到数据库文件数据后 , 将其存盘加载到内存中
增量复制: Master继续将新的所有收到的修改命令一次传给slave , 完成同步但是只要是重新连接master , 一次完全同步将被自动执行
哨兵模式:
能够从后台监控主机是否故障 , 如果故障了根据投票自动将从库转换为主库
自定义的/myredis目录下新建sentinel.conf文件
配置哨兵填写内容
修改为一主两从
sentinel monitor被监控数据库名字 127.0.0.1 6379 1
上面最后一个数字1表示主机挂掉后slave投票看让谁接替成为主机 , 得票大约1的成为主机
配置sentinel.conf
启动哨兵 redis-sentinel /myredis/sentinel.conf
当主机挂掉 两个从机开始投票 票数高得升级为主机 (如果之前挂掉得主机重启 就会沦落为从机)