目录

一、背景

二、RDB ( Redis DataBase )介绍

2.1 什么是RDB——redis的默认配置

2.2 rdb文件存储触发机制

2.3 如何恢复rdb文件

 2.4 优缺点


一、背景

Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。

所以Redis提供了持久化功能

 

二、RDB ( Redis DataBase )介绍

2.1 什么是RDB——redis的默认配置

在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时是将快照文件直接读到内存里。

Redis会单独创建( fork ) 一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。

整个过程中,主进程是不进行任何I0操作的。这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。

RDB的缺点是最后一次持久化后的数据可能丢失。

database redis 多个作用 redis中的database_持久化

 

 rdb是redis的默认配置,配置内容如下:

database redis 多个作用 redis中的database_database redis 多个作用_02

 存储的文件名默认为dump.rdb

2.2 rdb文件存储触发机制

1. 满足配置文件中的save规则时

2. 执行flushall命令时

3. 退出redis时

备份就会自动生成一个dump.rdb文件

save和bigsave的区别

save :save时只管保存,其它不管,全部阻塞。手动保存。不建议。

bgsaveRedis会在后台异步进行快照操作,快照同时还可以响应客户端请求。

可以通过lastsave 命令获取最后一次成功执行快照的时间

2.3 如何恢复rdb文件

只需要将rdb文件放置在redis启动目录即可

查看文件存储位置的命令

database redis 多个作用 redis中的database_Redis_03

 2.4 优缺点

优点

1、适合大规模的数据恢复

2、对数据的完整性要不高

缺点

1、需要一定的时间间隔进程操作!如果redis意外宕机了,这个最后一-次修改数据就没有的了

2、fork进程的时候,会占用一定的内容空间

database redis 多个作用 redis中的database_database redis 多个作用_04