千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

当前位置:首页  >  技术干货  > redis持久化步骤:Redis的持久化

redis持久化步骤:Redis的持久化

来源:千锋教育
发布人:xqq
时间: 2023-07-23 11:22:55 1690082575

Redis是一种高效的内存数据库,但是一旦重启或崩溃,内存中的数据就会丢失。为了解决这个问题,Redis提供了两种持久化方式,即RDB和AOF。RDB将Redis在内存中的数据快照写入磁盘,而AOF则将所有命令追加到一个只追加文件中,以便在Redis重新启动时重新创建数据。使用持久化可以确保Redis的数据不会丢失,即使在设备重启、崩溃或断电的情况下。

Redis RDB持久化的步骤

RDB持久化将Redis的内存状态(一个快照)写入磁盘。以下是Redis RDB持久化期间的步骤:

Redis执行bgsave命令

当Redis执行bgsave命令时,Redis将以子进程的形式创建一个副本,该副本将继续使用Redis主进程即将写入的内存,期间不会受到请求的影响。

Redis快照

子进程通过复制Redis内存状态来创建快照。复制是通过将快照写入磁盘而实现的。

替换现有RDB文件

创建快照后,在磁盘上查找现有的RDB文件,并将其替换为新的。

完毕

完成后,Redis将释放子进程,并再次处理请求。

Redis AOF持久化的步骤

AOF持久化以将所有写入命令追加到日志末尾的方式来记录Redis数据库中发生的所有修改。以下是Redis AOF持久化期间的步骤:

将命令写入缓冲区

Redis将执行的所有命令都会写入缓冲区或文件中,并追加到追加输出文件(AOF)的尾部。缓冲区中的日志会定期被转换为AOF文件。默认情况下,Redis发送缓冲区中的数据至少有一秒钟的延迟。

执行操作

接下来,Redis执行缓冲区中的命令,执行写操作来持久化数据。当Redis执行写操作时,它会将操作写入一个缓冲区,该缓冲区将调度到硬盘上的AOF文件中。

AOF重写

AOF重写是一种无损压缩工具,用于根据最近的内存状态重写AOF文件。这个过程很类似与RDB持久化。但是,AOF重写不需要重放以前的操作,因为内存状态可以完全表示。

完毕

完成后,Redis开始处理请求。如果在重写AOF文件时有其他写入操作,则将它们添加到新创建的AOF文件中。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT