配置
只用配置 slave 的 redis.conf,master 的配置可以不用改
- 配置 master 的 ip 和 port
- 配置 master 的密码
master 的这个地方可以也可以改了,特别是如果你要配置哨兵,一定要改。
直接在客户端里也可以改:
当然,这样重启就没有效果了。
取消 slave 身份:
slave of no one
启动
先主后从
./redis-server redis.conf &
登陆redis客户端,查看状态:
./redis-cli -a 12345678
info replication
结构
一主一从
用于主节点故障转移从节点,当主节点的“写”命令并发高且需要持久化,可以只在从节点开启AOF
一主多从
针对“读”较多的场景,“读”由多个从节点来分担,但节点越多,主节点同步到多节点的次数也越多,影响带宽,也加重主节点的稳定
树状主从
减轻主节点推送的压力
复制原理
数据同步机制
redis2.8版本以上使用 psync 命令完成同步,过程分“全量”与“部分”复制
全量复制:一般用于初次复制场景(第一次建立SLAVE后全量)
部分复制:网络出现问题,从节占再次连主时,主节点补发缺少的数据,每次数据增加同步
心跳:主从有长连接心跳,主节点默认每10S向从节点发ping命令,repl-ping-slave-period 控制发送频率
缺点
- master 挂掉了,还得人为改配置
- 只有 master 能写,写能力有限
- 存储能力有限