Redis提供了2个不同形式的持久化方式RDB(Redis Database)和AOF(Append Of File);来做数据的备份和恢复;
一,RDB(Redis Database)持久化;
在指定时时间间隔内将内存中时数据集快照写入磁盘,也就是快照,它恢复时是将快照文件直将读到内存里;
RDB持久化过程:
rdb会单独创建(fork)子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操的,这就确保了极高的性能,如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常触感,那RDB方式要比A0F方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。
Fork进程:
- Fork的作用是复制与当前进程一样的进程。当进程的所有数据(变量、环境变量、程序计数器等)一样 ,是—个全新的进程,并作为像进程的子进程
- 在Linux程序中,fork。会产生fork() 和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效界虑,Linux中引入了
写时复制技术 - 一般情况父进程和子进程会共用同一段物理内存,只有进程空间时各段的内容要发物化时,才会将父进程的内容复制分给子进程。

本文介绍了Redis的两种持久化方式:RDB(Redis Database)和AOF(Append Only File)。RDB通过定期快照实现数据备份,适用于大规模数据恢复,但可能会丢失最近的数据。AOF记录每次写操作,保证数据完整性,但体积较大,恢复速度相对较慢。配置选项如同步频率会影响数据安全与性能平衡。
最低0.47元/天 解锁文章
368

被折叠的 条评论
为什么被折叠?



