数据丢失的场景:
- 主从同步过程中,主节点的数据还未同步到从节点,但是主节点挂了,进行了主从切换;导致从的数据丢失了一部分
- 主挂了,从节点选取了新的主节点;但此时客户端还与老的主节点进行通讯,等客户端主从变换成功之后,从新的主节点获取数据,会导致数据丢失;因为老的新节点恢复后也以slave节点存在(自身的数据清空,从新的主节点获取数据)
redis配置redis.conf
Min-slaves-to-write 1
Min-slaves-max-lag 10 (一旦slave复制数据和ack延迟太长,就认为可能master 宕机后损失的数据太多了,那么就拒绝写请求)
可以减少上述数据丢失的情况
从节点大于配置的时间点还未ack,从阻止主节点写入;减少了数据丢失的时间跨度