Redis的持久化方式(RDB&AOF)
持久化:把内存中的数据库保存到磁盘上。防止数据的丢失。
redis支持的持久化方式两种:
(1)RDB:快照 其实就是把数据以快照的形式保存在磁盘上,什么是快照呢,你可以理解成把当前时刻的数据拍成一张照片保存下来。
(2)AOF:日志追加 记录服务器接受的每个写入操作,当服务器启动时再次加载该日志,会把日志中的命令重新执行一遍。
1.RDB快照持久化方式
1.1如何触发RDB持久化
1. 手动save命令
2. 手动bgsave命令
3. 通过配置自动触发。
1.2save和bgsave区别
该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。具体流程如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ixGe1EuB-1619410137988)(D:\AAA\笔记\Redis的持久化方式\Redis的持久化方式.assets\1618300074599.png)]](https://i-blog.csdnimg.cn/blog_migrate/d414543ef572360248226035c5f7041d.png)
执行完成时候如果存在老的RDB文件,就把新的替代掉旧的。我们的客户端可能都是几万或者是几十万,这种方式显然不可取。
执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体流程如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GTHvEAMy-1619410137990)(D:\AAA\笔记\Redis的持久化方式\Redis的持久化方式.assets\1618300230340.png)]](https://i-blog.csdnimg.cn/blog_migrate/e5169e6b39d884a218e6f15e20f363a2.png)
自动触发:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gQJbVxWN-1619410137992)(D:\AAA\笔记\Redis的持久化方式\Redis的持久化方式.assets\1618300804864.png)]](https://i-blog.csdnimg.cn/blog_migrate/a1feac6ca6020627c298b8d8fd45c119.png)
1.3保存在磁盘上后,该文件的名字叫什么?
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qPQyFAmR-1619410137993)(D:\AAA\笔记\Redis的持久化方式\Redis的持久化方式.assets\1618299721721.png)]](https://i-blog.csdnimg.cn/blog_migrate/29b45997fd4ee295c2ea79e87a0b42d5.png)
1.4 恢复数据
只需要把dump.rdb文件放入redis的安装目录即可,redis再次启动时回加载安装目录下的dump.rdb文件。
1.5 rdb的优缺点
优点:
(1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。
(2)生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。
(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。
缺点:
快照持久化期间修改的数据不会被保存,可能丢失数据。数据完整性比较差。
2. AOF 默认该模式是关闭的。
提供一种更加高效的方式AOF,工作机制很简单,redis会将每一个收到的写命令都通过write函数追加到文件中。通俗的理解就是日志记录。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xYUeqSUO-1619410137996)(D:\AAA\笔记\Redis的持久化方式\Redis的持久化方式.assets\1618301367175.png)]](https://i-blog.csdnimg.cn/blog_migrate/d06aed6a044852087c562d58df31bd08.png)
2.1aof的触发模式

优缺点:
优点:
(1)AOF可以更好的保护数据不丢失,一般AOF会每隔1秒,通过一个后台线程执行一次fsync操作,最多丢失1秒钟的数据。
(2)AOF日志文件没有任何磁盘寻址的开销,写入性能非常高,文件不容易破损。
(3)AOF日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写。
缺点:
(1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大.
(2) 恢复数据时时间要比快照模式慢很多。
620

被折叠的 条评论
为什么被折叠?



