【Redis】Redis 持久化(RDB和AOF)

news2024/11/23 0:04:11

文章目录

    • 概述
    • 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/90025.html

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

相关文章

软件供应链安全状况报告

根据 ReversingLabs 于 2022 年 12 月 5 日发布的报告《软件供应链安全状况》(文末提供报告阅读地址) ,在 2020 年至 2022 年初供应链攻击呈指数级增长之后,企业在整个2022 年出现了缓慢但稳定的增长。 ReversingLabs的研究基于上…

深证L2接口是如何运营的?

深证L2接口是现在大数据时代常用的一种程序接口,它集程序与协议于一体,为用户提供他们所需要的数据,这大大提高了用户的交易效率。 深证L2接口是如何运营的? 首先就是获取股票数据运用得最频繁的领域,股票交易市场领…

看完这篇还不懂 MySQL 的 MVCC 机制算我输

前言 MySQL中大名鼎鼎的MVCC机制想必大家都有所耳闻吧,虽然在平时MySQL使用过程中基本上用不到,但是面试中出场率十分高,而且作为架构师的你也是需要知道它的工作机制。那么你对MVCC机制了解多少呢?MVCC机制是用来干嘛的呢&#…

判断链表是否有环,如果有返回环的入口,即链表有环证明,和找到环的入口证明(非常清晰的证明过程)

有环链表 判断一个链表有环,如果有环,返回起点 使用快慢指针的方式,两个指针同时指向头节点,慢指针low一次走一步,快指针fast一次走两步,只要low和fast相遇即说明链表有环 只要快指针和慢指针有相差的步…

Maven Javafx javafx-maven-plugin打包项目,添加dll文件

在pom.xml的 javafx-maven-plugin内添加 additionalAppResources&#xff0c;并进行重新加载 <plugin><groupId>com.zenjava</groupId><artifactId>javafx-maven-plugin</artifactId><version>8.8.3</version><configuration&g…

2022,软件测试真的有说的这么容易吗?

前言 大家都说软件测试入门容易&#xff0c;似乎软件测试成了跳进互联网生态圈的最佳途径。但是不少小伙伴在入门软件测试后&#xff0c;却变的相当的迷茫&#xff0c;不知道自己应该做什么&#xff0c;似乎点点点就成了工作中唯一的事情了。趁现在负能量还没有缠身的时候&…

服务优化实践

性能分析常用方法 1. top top指令默认用来监控cpu使用情况&#xff0c;根据cpu使用情况&#xff0c;分析整个系统运作情况&#xff08;大多数系统cpu密集型&#xff09;top指令查询的进程&#xff0c;将会根据cpu使用率大小进行排序&#xff0c;使用的比较多的排在前面&#x…

重生强化【Reincarnating RL】论文梳理

重生强化【Reincarnating RL】论文梳理 文章目录重生强化【Reincarnating RL】论文梳理前言&#xff1a;文章链接&#xff1a;作者团队介绍&#xff1a;沈向洋老师的论文十问&#xff1a;联系方式&#xff1a;前言&#xff1a; 好久没写文章速读了&#xff0c;最近群友推荐了两…

html5期末大作业:自适应网站开发——公司网站7页 ,响应式页面

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

这10张图拿去,别再说学不会RecyclerView的缓存复用机制了

ViewPager2是在RecyclerView的基础上构建而成的&#xff0c;意味着其可以复用RecyclerView对象的绝大部分特性&#xff0c;比如缓存复用机制等。 作为ViewPager2系列的第一篇&#xff0c;本篇的主要目的是快速普及必要的前置知识&#xff0c;而内容的核心&#xff0c;正是前面…

SQL概述以及MySQL常用语句总结

目录数据库概述SQL与NoSQL对比关系型数据库管理系统的常用实例MySQL介绍安装数据库的连接SQLDDLDMLDQL单表查询多表查询多表关系连接查询连接分类内连接 JOIN外连接左外连接 LEFT JOIN右外连接 RIGHT JOIN自连接 JOIN联合查询 UNION子查询标量子查询列子查询行子查询表子查询DC…

大二Web课程设计——家乡主题网页设计(web前端网页制作课作业) 四川旅游网页设计制作

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法&#xff0c;如盒子的嵌套、浮动、margin、border、background等属性的使用&#xff0c;外部大盒子设定居中&#xff0c;内部左中右布局&#xff0c;下方横向浮动排列&#xff0c;大学学习的前端知识点和布局方式都有…

【Spring】——12、BeanPostProcessor的执行流程?(源码分析)

&#x1f4eb;作者简介&#xff1a;zhz小白 公众号&#xff1a;小白的Java进阶之路 专业技能&#xff1a; 1、Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理 2、熟悉Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理&#xff0c;具备⼀定的线…

[附源码]Python计算机毕业设计房屋租赁管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等…

MongoDB Node 驱动使用指南

MongoDB Node 驱动介绍 1. MongoDB数据库连接指南 使用原生的mongodb Node驱动连接MongoDB数据库。 1.1 数据库连接URI 数据库连接URI是一个指明了数据库地址、名称、用户名、密码的字符串&#xff0c;类似于网页链接。 1.2 Node驱动安装 使用Npm或者Yarn安装数据库驱动程…

40_CAN通信基础知识

目录 CAN协议简介 CAN物理层 闭环总线网络 闭环总线网络 开环总线网络 通讯节点 差分信号 CAN协议中的差分信号 CAN协议层 CAN的波特率及位同步 位时序分解 SS段(SYNC SEG) PTS段(PROP SEG) PBS1段(PHASE SEG1) PBS2段(PHASE SEG2) 通讯的波特率 CAN的报文种类…

和数链技术与供应链金融的革命性融合发展

区块链是由密码技术、共识机制、点对点通信协议、分布式存储等多种核心技术体系高度融合&#xff0c;形成的一种分布式基础架构与计算范式&#xff0c;其本质则是一套去中心化的记账系统。区块链技术凭借自身分布式共享账本、去中心化、透明性、隐私保护、节点控制、信息的不可…

[附源码]计算机毕业设计的剧本杀管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis MavenVue等等组成&#xff0c;B/S模式…

java+mysql基于ssm的校园快递代领系统

当代大学生的课业都比较繁重,很多学子甚至选修了双学位,但是为了保障生活的质量难免会在网上购买一些生活和学习用品,但是又因为学业或者兼职等原因不能按时的领取属于自己的快递,这个时候一个新兴的行业校园快递代领服务诞生了 本系统是一个校园快递代领系统,服务人员可以在线…

【Git】常用命令详解(循序渐进,逐步分析)

目录 一、Git常用命令 1.1、设置用户签名 1.2、初始化本地库 1.3查看本地库状态 1.3、添加文件到暂存区 1.4、将暂存区文件添加文件到本地库 1.5、查看历史版本&#xff08;提交历史记录&#xff09; 1.6、修改文件 1.7、版本穿梭 一、Git常用命令 1.1、设置用户签名…