> 文章列表 > Redis—RDB快照

Redis—RDB快照

Redis—RDB快照

一、RDB快照知识点

Redis 提供了两个命令来生成 RDB 文件,分别是 save bgsave,区别在于是否在主线程中执行。(Redis的快照这个概念,某一方面跟MySQL的read  view视图有点像,都是保存某一时刻的数据库状态)

Redis是全量快照,就是在某一时刻会把内存中的所有数据都记录到磁盘

二、RDB、优点、缺点?

定义:指定时间间隔将数据快照写⼊磁盘,恢复的时候将快照⽂件直接读入内存

优点

• 适合大规模数据恢复

缺点

• 每隔⼀段时间才备份,Redis宕机的话会丢失数据,适合对数据完整性、⼀致性要求不高

三、如何选择?

▪ 对数据不敏感,可以关闭持久化

▪ 可以承受数分钟的损失,如做缓存,只开RDB

▪ 做内存数据库,RDB、AOF都开启,RDB时候做数据备份,AOF保证数据不丢失

四、混合持久化?

▪ Redis4.0

▪ 前半段是RDB格式全量数据,后半段是AOF增量数据

优点:绝⼤部分是RDB,加载速度快,增量是AOF,避免了数据丢失

缺点:兼容性差,Redis4.0之前不识别该aof文件;阅读性差,前半段是RDB

混合持久化的好处

这样的好处在于,重启 Redis 加载数据的时候,由于前半部分是 RDB 内容,这样加载的时候速度会很快。

加载完 RDB 的内容后,才会加载后半部分的 AOF 内容,这里的内容是 Redis 后台子进程重写 AOF 期间,主线程处理的操作命令,可以使得数据更少的丢失。