Redis中总共提供了两种不同形式的持久化操作:RDB(redis database)和AOF(append of file)。
我们先说RDB:
RDB是什么?
在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里
备份是如何执行的呢?
Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到 一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件(dump.rdb)。 整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能 如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。
啥是fork?
Rdb持久化流程:
dump.rdb文件:
在redis.conf中配置文件名称,默认为dump.rdb。
配置位置:
rdb文件的保存路径,也可以修改。默认为Redis启动时命令行所在的目录下
dir “/myredis/”
如何触发快照及保持策略
配置文件中默认的快照配置: