【Redis】Redis 持久化

news2024/11/23 18:30:22

文章目录

    • 概述
    • RDB
        • 触发机制
        • 如何恢复 rdb 文件?
        • RDB 优点:
        • RDB 缺点:
    • AOF
        • AOF 优点
        • AOF 缺点

概述

Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么服务器一旦进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能。
Redis 提供了两中持久化的方式,一个是 RDB,另一个是 AOF。
Redis 默认是使用 RDB 进行持久化存储,如果需要使用 AOF 的话需要去开启。


RDB

在指定的时间间隔内将内存中的数据集快照写入磁盘。
rdb 保存的文件是 dump.rdb,都在配置文件中能够看到的

触发机制

1、save 的规则满足的情况下,会自动触发 rdb 规则
2、flushall 命令会直接触发 rdb 规则
3、退出 redis,也会产生 rdb 文件
备份就自动生成一个 dump.rdb

如何恢复 rdb 文件?

只需要在那个 rdb 文件放到我们 redis 启动目录就可以,redis 启动的时候会自动检查 dump.rdb 恢复其中的数据。
如果想要查看 rdb 文件存放的位置就使用 config get dir
在这里插入图片描述
/var/lib/redis 目录下就存在 dump.rdb 文件,启动就会自动恢复其中的数据;

RDB 优点:

1、适合大规模的数据恢复;
2、对数据的完整性要求不高;

RDB 缺点:

1、需要一定的时间间隔进程操作,如果 redis 宕机了,这个最后一次修改数据就没有了;
2、fork 进程的时候,会占用一定的内存空间;


AOF

aof 保存的文件是 appendonly.aof,aof 默认的就是文件的无限追加,文件就会越来越大,它将我们的所有命令都记录下来,恢复的时候就把这个文件全部执行一遍;
redis 会记录上一次的文件大小,来判断是否是上一次的文件。如果 aof 文件大于 64MB,会 fork 一个新的进程来将我们的文件进行重写;
aof 是默认不开启的,如果需要开启的话就去 redis 的配置文件中开启

在这里插入图片描述
appendonly no 的意思是 是否开启 aof
appendonlyfilename "appendonly.aof" 是持久化的文件的名字
appendfsync everysec 是每秒执行一次sync ,可能会丢失这 1s 的数据
appendfsync always 是每次修改都会 sync ,消耗性能
appendfsync no 是不执行 sync ,这个时候操作系统自己同步数据,速度最快

AOF 优点

1、每一次修改都同步到文件中,文件的完整性会更好;
2、每秒同步一次,可能会丢失一秒的数据
3、从不同步,效率最高;

AOF 缺点

1、相对于数据文件来说,aof 文件远远大于 rdb ,修复的速度也比 rdb 慢;
2、aof 运行效率也要比 rdb 慢,所以我们redis默认的配置是rdb;





End


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/89867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言进阶】一文速通面试中的指针相关疑难杂症(内含模拟库函数 qsort 的实现)

目录 🥇前言🥇: 一、指向函数指针数组的指针🤯: 1.书写格式🦚: 2.指向函数指针数组指针示例🦩: 二、回调函数🧐: 1.回调函数的定义&#x1f99…

嵌入式软件工程师技能树——应用编程/网络编程/驱动开发/操作系统/计算机网络

文章目录Linux驱动开发1、Linux内核组成2、用户空间与内核的通讯方式有哪些?3、系统调用read/write流程4、内核态用户态的区别5、bootloader内核 根文件的关系6、BootLoader的作用7、BootLoader两个启动阶段1、汇编实现,完成依赖于CPU体系架构的设置&…

Win10安装Linux虚拟机-安装与使用

Win10安装Linux虚拟机-安装与使用 1、VMware 的下载 VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。 下载地址:https://customerconnect.vmware.com/en/downloads/#all_products 在搜索中…

用 Charles 断点调试 HTTPS 请求,原理解析

现在的网站基本都是 https 的,而 charles 是常用的 http 抓包工具,所以用 charles 调试 https 请求是常见的需求。 今天就分享下如何用 charles 调试 https 请求,如何打断点。 首先安装 charles,点击 start recording&#xff1…

FineReport平台数据分析-图表显示部分系列接口

1. 概述 1.1 应用场景 当图表系列较多时,用户希望可以自己设置哪些系列显示,哪些系列不显示。以决策报表为例,实现效果如下图: 1.2 实现思路 通过FR.Chart.WebUtils.getChart("chartID").getChartWithIndex(chartInde…

静态HTML旅行主题网页作业——青岛民俗7页html+css+javascript+jquery 地方民俗网页设计与实现

👨‍🎓静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计👩‍🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

web开发:linux常用命令总结

1.关于目录操作: (1)ls 列出当前目录下都有哪些文件/目录 也可以写成: ls 指定目录 列出指定目录下的文件/目录 还可以写成 ls -l 指定目录 以列表的形式列出 或缩写成 ll 指定目录 (2)pwd 查看当前…

shared_ptr

先看源码 template<typename _Tp> class shared_ptr : public __shared_ptr<_Tp> {template<typename... _Args>using _Constructible typename enable_if<is_constructible<__shared_ptr<_Tp>, _Args...>::value>::type;template<ty…

【TuyaOS开发之旅】环境搭建

前言 涂鸦最近更新了打磨良久的TuyaOS&#xff0c;整体使用感受非常的nice。所以决定写一个专栏讲解一下TuyaOS的入门使用&#xff0c;来方便小白快速的入门和熟悉TuyaOS的开发。 官方环境搭建教程 Tuya Wind IDE-TuyaOS-涂鸦开发者 报错和解决 暂无 补充 程序下载方法 …

MetaFormer实际上是你所需要的视觉

transformer在计算机视觉任务中显示出了巨大的潜力。人们普遍认为&#xff0c;他们基于注意力的token混合器模块对他们的能力贡献最大。然而&#xff0c;最近的工作表明&#xff0c;transformer中基于注意力的模块可以被空间mlp取代&#xff0c;得到的模型仍然表现相当好。基于…

11.关联容器

文章目录关联容器11.1使用关联容器使用map使用set11.2关联容器概述11.2.1定义关联容器初始化multimap或multiset11.2.2关键字类型的要求有序容器的关键字类型使用关键字类型的比较函数11.2.3pair类型创建pair对象的函数11.3关联容器操作11.3.1关联容器迭代器set的迭代器是const…

为什么Docker比VM虚拟机快?

(1)docker有着比虚拟机更少的抽象层 由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化&#xff0c;运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。 (2)docker利用的是宿主机的内核,而不需要加载操…

基于springboot招生管理系统设计与实现的源码+文档

摘 要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括招生管理系统的网络应用&#xff0c;在外国招生管理系统已经是很普遍的方式&#xff0c;不过国内的管理网站可能还处于起步阶段。招生管理系统具有招生公告信息管理功能…

实训任务一

文章目录实训任务一一、实训任务1、创建并且配置三个虚拟机2、创建SSH连接3、实现IP地址与主机名的映射4、关闭和禁用防火墙5、创建目录结构6、压缩打包7、安装软件包8、创建脚本文件9、直接运行脚本10、虚拟机相互免密登录11、远程拷贝文件实训任务一 需求&#xff1a;熟练掌…

java+MySQL 基于ssm高校创新实践学分认定系统

随着现代实践学分认定的快速发展,可以说实践学分认定已经逐渐成为现代实践学分认定过程中最为重要的部分之一。但是一直以来我国传统的实践学分认定并没有建立一套完善的行之有效的实践学分认定系统,传统的实践学分认定已经无法适应高速发展,无论是从效率还是从效果来看都远远的…

问题解决之:chatGPT 登录页面的 google 验证 reCAPTCHA 弹不出来

文章目录问题描述自己的境况分析结论问题描述 今天我到了图书馆想访问一下 chatgpt&#xff0c;挂了 vpn 之后所有的浏览器都无法弹出 reCAPTCHA 人机验证&#xff0c;即使我更换了不同的 vpn 和为 chrome 的 reCAPTCHA 设置了重定向也无法成功 正常情况&#xff1a;应该弹…

基于B\S的《C语言程序设计》学习网站的设计与实现

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 1)系统平面设计&#xff1a;设计精美、简洁且清爽的系统界面。 2)课程信息管理&#xff1a;对课程的基本信息、课程目标…

Mybatis源码分析(二)Mybatis-config.xml的初始化

目录一 环境搭建二 配置文件初始化2.1 ClassLoader2.2 获取配置文件官网&#xff1a;mybatis – MyBatis 3 | 简介 参考书籍&#xff1a;《通用源码阅读指导书&#xff1a;MyBatis源码详解》 易哥 参考文章&#xff1a; 一看你就懂&#xff0c;超详细java中的ClassLoader详解A…

【Unity3DRPG入门学习笔记第三卷】PolyBrush 构建场景

一、安装 Polybrush 导入样例 我新建了一个新文件夹 Plugins 用来管理 打开 Polybrush Window 二、使用 Polybrush 1. 选中物体&#xff0c;使用第一个工具&#xff0c;会发现可以显示顶点&#xff0c;可以改变网格&#xff0c;例如我们可以上下拖拽地面改变地形 正常左键点…

Java 包装类

Java包装类\huge{Java \space 包装类}Java 包装类 概述 所谓的包装类&#xff0c;通俗来讲其实就是888种基本数据类型对应的引用类型&#xff08;本质就是引用类型&#xff09;。 ❗❗❗尤其注意charcharchar对应的包装类的名称是charactercharactercharacter&#xff0c;in…