持久化
持久化机制分为两种快照和AOF
快照是reids默认开启持久化方式,将某一时刻的数据都写入硬盘中
快照的生成方式:
客户端BGSAVE和SAVE指令
服务器配置自动触发
BGSAVE:创建子进程进行创建快照,父进程继续执行接下来的操作
SAVE:接收到Redis服务器在快照完成之前不会响应任何其他命令。
AOF:将写的命令记录追加到记录日志里面,(将所有的客户端执行的命令追加到记录日志里面)
追加的频率分为
1.always每个写的命令都同步写入会严重降低速度
2.everysec 每秒执行一次同步显示,将多个写命令同步到磁盘(推荐使用)
3.no 由操作系统决定何时同步
因为AOF是把我们的写操作进行写入到日志里面,日志就会越来越大,这时候就需要AOF重写机制
AOF重写机制,就是把日志文件进行去重操作,然后把去重完成的文件放到新的日志文件中,随后删除掉原来的日志文件
主从复制
Redis主从复制是一种常见的数据备份方式,可以实现数据的冗余备份、读写分离等功能。Redis主从复制的原理是将一个Redis实例的数据复制到多个Redis实例上。其中,一个Redis实例作为主节点(Master),其他实例作为从节点(Slave)。主节点负责接收所有的写操作,并将写操作同步给从节点。而从节点只能接收读请求,不处理任何写请求从而保证了数据的一致性。
为了保障系统的正常运行和高可用性,以防止主节点宕机所以出现了哨兵机制
哨兵机制
哨兵机制可以自动选举新的主节点,确保整个系统的可用性。哨兵机制主要由哨兵节点组成,哨兵节点会定期检查Redis实例的健康状态,并在主节点出现故障时,自动选举新的主节点。同时,哨兵节点还可以执行故障转移操作,将原本的从节点提升为新的主节点,并重新建立主从复制关系。