Redis 使用 RDB 持久化方式的过程

  1. 定时触发: RDB 持久化是通过设置一个定时触发的机制来进行的。管理员可以配置 Redis 在经过一定时间间隔或执行了一定数量的写操作后触发 RDB 持久化。这个配置通常在 Redis 的配置文件中进行,可以通过 savesave 900 1 这样的配置项来设定。

    bash 复制代码
    save 900 1 # 在900秒内如果有至少1个key被改变,则触发RDB持久化
  2. 创建数据快照: 当触发条件满足时,Redis 开始创建一个数据快照。这个数据快照是当前内存中所有数据的一个拷贝。

  3. 创建临时文件: Redis 在创建数据快照的同时,会创建一个临时文件用于存储这个数据快照。这样可以确保在持久化过程中不会影响到当前正在运行的 Redis 服务器。

  4. 写入数据: 将数据快照写入到临时文件中,确保数据的完整性。这个过程通常是先将数据写入到一个临时文件中,然后再用原子操作将临时文件替换掉旧的 RDB 文件。

  5. 替换旧文件: 一旦新的 RDB 文件创建完成,Redis 就会用这个新文件替换掉原来的 RDB 文件。这个过程通常是原子的,这意味着在替换的瞬间,Redis 要么完全替换,要么完全不替换。

  6. 完成持久化: 当替换完成后,Redis 完成了一次 RDB 持久化。这个过程是非常快速的,因为 Redis 只需将内存中的数据写入硬盘。

相关推荐
承渊政道几秒前
Python IDLE鸿蒙PC适配全记录:从Tkinter桌面程序到ArkUI原生开发闭环
开发语言·python·harmonyos·鸿蒙系统·桌面程序
2302_1118 分钟前
java依赖小结
java·运维·数据库
sunshine22 girl10 分钟前
Java学习三 高级语法3, 方法
java·学习
YMWM_22 分钟前
查看realsense相机序列号脚本
开发语言·python·数码相机
captain37640 分钟前
网络原理(3)-TCP核心机制连接管理▲▲▲
java·服务器·网络·ide·网络协议·tcp/ip·java-ee
传奇开心果编程43 分钟前
【dioxus0.7基础语法学与练】第8课:RSX 宏 — Dioxus 声明式 UI 语法
开发语言·学习·rust
企业数字化笔记1 小时前
固定资产历史数据怎么导入系统?Excel模板、字段映射和数据校验
android·java·数据库·后端
troy1281 小时前
Python 基础语法(一):变量、数据类型与运算符
java·服务器·python
wuyk5551 小时前
18.Kruskal 算法:用最短的边连成一张网
开发语言·算法·图论
Evand J1 小时前
【MATLAB例程,图像降噪7】高斯加权滑动窗口滤波,用于图像降噪,带质量评价,附代码下载链接
开发语言·图像处理·matlab·滑动窗口·滤波·降噪·图像滤波