1、配置从库不配置主库
2、从库配置命令:slaveof 主库ip 主库端口号
①每次与master断开后,都需要重新连接,除非在redis.conf里进行配置
②Info replication(命令)
未进行主从配置输入此命令,将显示以下内容
#Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
3、配置细节
①拷贝多个redis.conf文件
②开启daemonize yes
③pid文件名字
④指定端口
⑤log文件名
⑥dump.rdb
4、常用配置
1)一台主机二台
①从机(79主,80,81从)
79存值set k4 v4
80,81输入slaveof 127.0.0.1 6379
在80,81中可以get k4的值
此时输入Info replication将得到主从的一些信息。
②从机不能写。
③主机宕机,从机原地待命,还是从机身份。
④主机恢复,自动恢复主从状态,无须操作。
⑤从机宕机,从机恢复就会变成master身份。(与master断开需要重连,或写进配置文件)
2)主从复制的传递
①上一个slave可以是下一个slave的Master,Slave同样可以接收其他slaves的连接和同步请求,那么该slave作为链条中的下一个master,可以减轻master 的写压力。
②中途变更转向:会清楚之前的数据,重新建立拷贝最新的。
3)从机转主机
①79主机,80,81从机,79宕机,让80变成主机(slaveof no one),81需要重新认主机(slaveof 127.0.0.1 6380),79恢复则跟80,81将无关系。
5、复制原理
Slave启动成功连接到master后会发送一个sync命令。Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步。
全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
增量复制:Master继续将新的所有收集到的修改命令依次传递给slave,完成同步。
只要重新连接master,全量复制将被自动执行一次。
6、哨兵模式(主机宕机,在所有从机中自动投票选出新主机)
①79主机,80,81从机
②新建sentinel.conf文件,填写一下内容:(监控主机)
sentinel monitor host6379(被监控数据库名称) 127.0.0.1 6379 1(1表示多余一票成为新master)
③启动哨兵:redis-sentinel sentinel.conf
④79宕机,会自动选举80或81为新的master
⑤79恢复后将变成slave。
⑥该文件sentinel.conf,可以添加多行,监控多个master
7、复制缺点
复制延时