CSDN热搜
这里我们主要介绍 RDB 持久化方案,AOF 持久化方案,在下一篇文章当中。
Redis 客户端执行 bgsave 命令或者自动触发 bgsave 命令。 主进程判断当前是否已经存在正在执行的子进程 ,如果存在,那么主进程直接返回。 如果不存在,正在执行的子进程 ,那么就 fork 一个新的子进程进行持久化数据,fork 过程是阻塞的,fork 操作完成后主进程即可执行其它操作。 子进程先将数据写入到 临时的 rdb 文件中 ,待快照数据写入完成后,再原子替换旧的 rdb 文件。 同时发送信号给主进程,通知主进程 rdb 持久化完成,主进程更新相关的统计信息。
整个过程中,主进程是不进行任何 IO 操作的,这就确保了极高的性能。 如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那 RDB 方式要比 AOF 方式更加的高效。 RDB的缺点是最后一次持久化的数据可能丢失。 如果你是正常关闭 Redis ,仍然会进行持久化,不会造成数据丢失。 如果是 Redis 异常终止/宕机 ,就可能造成数据丢失。 后面在讲解快照配置的时候,进行说明。
使用道具 举报
本版积分规则 回帖并转播 回帖后跳转到最后一页
程序园优秀签约作者
0
粉丝关注
10
主题发布