前言
Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能!
Redis持久化的两种方式:
1、RDB(Redis DataBase)
2、AOF(Append Only File)
RDB(Redis DataBase)
1、什么是 RDB ?
RDB是Redis用来进行持久化的一种方式,是把当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。
2、RDB工作流程
Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。这就确保了极高的性能。
3、RDB文件触发机制
1)slave的规则满足的情况下,会自动触发rdb规则!
2)执行flushall命令,也会触发rdb规则