什么是redis持久化:
持久化就是将内存中的数据移动到硬盘中,防止电脑突然断电或故障时候数据丢失,下次启动时就可再次将持久化到硬盘的数据快速加载到内存中去。
持久化的两种方式:
Rdb方式
默认方式,每隔一段时间,生成redis内存中数据一份完整的快照
优点:节省磁盘空间 恢复速度快
缺点:数据量大时比较耗费性能
Aof方式
以日志的形式来记录每个写操作,只许追加文件不可改写文件。Redis启动之初会读取该文件重新构建数据
优点:备份机制更好,丢失概率低
缺点:比起Rdb占用更多磁盘空间,恢复备份速度慢
Redis主从复制如何实现:
为了防止硬盘坏掉,可以利用主从复制。
- 从服务器连接主服务器,发送SYNC命令
- 主服务器接收到SYNC命令,开始执行并生成RDB文件并记录
- 主服务器执行完后,向所有服务器发送快照文件,并在发送期间继续记录
- 从服务器收到快照文件后丢弃所有旧数据,载入收到的快照
- 主服务器快照发送完毕后开始向从服务器发送写命令
- 从服务器完成对快照的载入,接收命令请求并执行写命令