【Redis】持久化

news/2024/10/29 3:36:09/

持久化方式

RDB(Redis Database) 持久化方式:将 Redis 在内存中的数据快照以二进制形式保存到磁盘上,可通过配置不同的保存策略来实现定时备份或者手动触发备份。RDB 持久化方式具有非常高的性能和恢复速度。
AOF(Append Only File) 持久化方式:将 Redis 执行的写命令追加到文件末尾,在 Redis 重启时通过重新执行这些命令来恢复数据。AOF 持久化方式可以确保数据不丢失,并且可以精确地还原 Redis 所有操作。

为什么需要持久化

Redis 是内存数据库,所有的数据都保存在内存中。如果不做持久化处理,一旦服务器宕机,所有的数据就会丢失,无法恢复,这对于生产环境而言是不能接受的。
执行持久化操作可以保证系统的可靠性,即使出现了异常情况,也可以很方便地恢复数据。

注意事项

在进行 RDB 持久化时,如果数据量非常庞大,可能会导致 Redis 在进行持久化操作时卡顿。解决办法是在适当的时间间隔内对数据进行定期备份。
在进行 AOF 持久化时,如果 Redis 服务器意外宕机,可能会导致最后一部分写入数据丢失。解决办法是在适当的时间间隔内将 AOF 文件进行同步和备份。

持久化的具体流程

RDB 持久化

Redis 创建一个子进程,负责将数据集(内存中的数据)写入到临时文件中。
当子进程完成数据持久化操作后,Redis 用临时文件替换原来的持久化文件。
为了避免数据丢失,Redis 可以配置自动备份或手动触发备份。在执行备份操作时,Redis 会先创建一个子进程,然后将数据集写入到一个临时文件中,最后使用该文件覆盖上一个备份文件。

AOF 持久化

Redis 在执行写命令时,将相应的操作追加到 AOF 文件的末尾。
Redis 可以根据配置的策略定期或实时执行 AOF 文件重写操作,去除 AOF 文件中重复、过期或者无效的命令,并缩小文件大小。
当 Redis 服务器重新启动时,它会通过重新执行 AOF 文件中的所有写命令来还原数据集。
需要注意的是,当 Redis 同时开启 RDB 和 AOF 持久化时,一旦 Redis 重启,它将优先加载 AOF 文件,因为 AOF 文件包含的是更加完整和准确的数据。


http://www.ppmy.cn/news/37936.html

相关文章

Linux 常见命令

文章目录: 1.ls 11.mv 2.cd 12.netstat 3.pwd 4.touch 5.echo 6.cat 7.vim 8.mkdir 9.rm 10.cp 1.ls 查看当前目录下有哪些目录或者文件 此时这里表示根目录下的root目录下有哪些目录或者文件 2.cd 表示切换到那个目录 几种特…

100天精通Python丨黑科技篇 —— 06、Python 修图(滤镜、灰度、裁剪、视觉处理、图像分割、特征提取)

文章目录一、PIL 常规修图操作1. 读取图片2. 图片缩放3. 图片旋转4. 图片裁剪5. 图片滤镜二、OpenCV 图像处理、视频处理、对象识别三、scikit-image 视觉算法,包括滤波、形态学操作、图像分割、特征提取四、TensorFlow 图像分类、目标检测、图像生成有些小伙伴可能…

Linux系统一键安装最新内核并开启 BBR 脚本

本脚本适用环境 系统支持:CentOS 6,Debian 8,Ubuntu 16 虚拟技术:OpenVZ 以外的,比如 KVM、Xen、VMware 内存要求:≥128M 更新日期:2022 年 5 月 11 日 关于本脚本 1、本脚本已在 蓝易云 上…

PCB生产工艺流程二:图形电镀工艺流程说明

PCB生产工艺流程二:图形电镀工艺流程说明 我们以多层板的工艺流程作为PCB工艺介绍的引线,选择其中的图形电镀工艺进行流程说明,具体分为八部分进行介绍,分类及流程如下: A.内层线路(光成像工序&#xff0…

ChatGPT直出1.5w字论文查重率才30% - 基于物联网技术的智能家居控制系统设计与实现

文章目录ChatGPT直出1.5w字论文查重率才30% - 基于物联网技术的智能家居控制系统设计与实现一、绪论1.1 研究背景与意义1.2 国内外研究现状分析1.3 研究内容与目标1.4 研究方向和思路二、物联网技术与智能家居概述2.1 物联网技术原理与应用2.2 智能家居的概念与发展历程2.3 智能…

go自定义模板函数

自定义一个时间戳转换日期的函数 func timestampToDate(timestamp int) string {return (time.Unix(int64(timestamp), 0)).Format("2006-01-02 15:04:05") } func main() {//gin引擎r : gin.Default()//注册模板函数r.SetFuncMap(template.FuncMap{"timeToDat…

易基因:m6A mRNA甲基化修饰调控CTNNB1促进肝母细胞瘤增殖的机制研究|Mol Cancer

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 2019年12月23日,国家儿童医学中心(上海)、上海交通大学医学院附属上海儿童医学中心潘秋辉教授团队在《Molecular Cancer》(IF:41.444/Q1&am…

java源码阅读 - TreeSet

往期文章 用最简单的话讲最明白的红黑树java源码阅读 - HashMap数据结构 - 堆与堆排序 文章目录往期文章一、介绍二、类的声明三、成员变量四、构造函数五、常用方法1. NavigableSet接口的实现2. SortedSet接口的实现六、总结一、介绍 在上期文章中,我们从源码层面…