1. 什么是 RDB ?
RDB 即 Redis DataBase,指在指定的时间间隔内,将内存中的数据集快照写入磁盘
redis 会单独创建(fork)一个子进程进行持久化,会先将数据写入一个临时文件,待持久化都结束,再用此临时文件替换上次持久化好的文件(持久化文件默认叫 dump.rdb),整个过程中,主进程不进行任何 IO 操作,这确保了极高的性能
若需要进行大规模数据恢复,且对于数据恢复的完整性不敏感,则 RDB 的方式比 AOF 更高效
缺点:最后一次持久化的数据可能丢失
2. 什么是 fork?
fork 是复制一个和当前进程一样的进程,并作为其子进程。但子进程在此后多会 exec 系统调用,出于效率考虑,引入“写时复制技术”(即,先将文件写入临时区域,待持久化结束后再替换之前最新的持久化好的文件)
3. redis 配置文件 SNAPSHOT 参数说明
略
4. RDB 备份
cp dump.rdb d.rdb
rm -rf dump.rdb
mv d.rdb dump.drb