数据持久化-RDB-AOF

news2024/9/29 23:33:57

定义

将数据从掉电易失的内存放到永久储存的设备上

因为所有的数据都在内存是,所有必须得持久化

redis提供两种持久化方案

RDB默认开启、AOF

RDB

1,保存真是的数据

2,将服务器包含的所有数据库数据以二进制文件形式保存到磁盘里面

3,默认文件名:/var/lib/redis/dump.rdb

文件名及目录可在配置文件中修改【/etc/redis/redis.conf】

263行:dir /var/lib/redis #表示rdb文件存放路径

253行:dbfilename dump.rdb #文件名

出发rdb持久化-redis终端

方式1 redis终端中使用save或者bgsave命令

save

#特点

1,执行SAVE命令过程中,redis服务器将被阻塞,无法处理客户端发送的命令请求,在SAVE命令执行完毕后,服务器才会重新开始处理客户端发送的命令请求

2,如果RDB文件已经存在,那么服务器将自动使用新的RDB文件代替旧的RDB文件

bgsave

#执行过程

1,客户端 发送 BGSAVE给服务器

2,服务器马上返回Background saving started 给客户端

3,服务器fork()子进程做这个事

4,服务器继续提供服务

5,子进程创建完RDB文件后再告知Redis服务器

SAVE 比 BGSAVE快 ,因为需要创建子进程,消耗额外内存,说明:可以通过查看日志文件来查看redis的持久化过程

logfile 位置 /var/log/redis/redis-server.log

触发rdb持久化-设置配置文件

redis 配置文件默认

218  save 900 1

219 save 300 10

表示距离上次创建RDB文件已经过去了300秒,并且服务器的所有数据库总共已经发生了不少于10次修改,那么自动执行BGSAVE命令

200 save 60 10000

1,只要三个条件中的任意一个被满足时,服务器就会自动执行BGSAVE

2,每次创建RDB文件后,服务器为实现持久化而设置时间计数器和次数计数器就会被清0,所以多个保存条件的效果不会叠加

出花RDB持久化-redis关闭

redis再正常关闭时,也会执行保存rdb操作

特殊说明

1,创建rdb文件需要将服务器所有的数据库的数据都保存起来,这是一个非常消耗资源和时间的操作,所以服务器需要隔一段时间才创建一个新的RDB文件,也就是说,创建RDB文件不能执行过于频繁,否则会严重影响服务器性能

2,可能丢失数据

AOF基础概念

1,存储的是命令,而不是真实数据

2,默认不开启

开启方式(修改配置文件)

1, /etc/redis/redis.conf

672:appendonly yes #把no改为yes

676:appendfilename 'appendonly.aof'

2,重启服务

sudo /etc/init.d/redis-server restart

执行原理

1,每当有修改数据库命令被执行时,

2,因为AOF文件里面存储了服务器执行过的所有数据库修改的命令,所以给定一个AOF文件,服务器只要重新执行一边AOF文件里面包含的所有命令,就可以达到还原数据库的目的

用户可以根据自己的需要对AOF持久化进行调整,让redis在遭遇意外停机时不丢失任何数据,或者只丢失一秒钟的数据,这比RDB持久化丢的数据要少得多

特殊说明

虽然服务器执行一个修改数据库目录,就会把执行的命令写入到AOF文件,但这并不意味着AOF文件持久化不会丢失任何数据,在目前常见的操作数据中,执行系统调用writer函数,将一些内容写入到某个文件里面时,为了提高效率,系统通常不会直接将内容写入硬盘里面,而是将内容放入一个内存缓存区buffer里面,等到缓冲区被填满时才将存储的缓冲区里面的内容真正写入到硬盘里

1,AOF持久化:当一条命令真正的被写入到硬盘里面时,这条命令才不会因为停机而意外丢失

2,AOF持久化在遭遇停机时丢失命令的数量,取决于命令被写入到的硬盘的时间

3,越早将命令写入到硬盘,发生意外停机时丢失的数据越少

相关配置

 

触发

 

 

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

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

相关文章

JDBC管理事务

基本介绍 就是处理在mysql的事务 复习一下:事务是一组sql语句需要开启和提交,事务中的sql语句要么全部生效,要么全部不生效,提交之后就是全部生效,中间可以设置保存点,回退到保存点,或直接回退到最开始事务…

1.2.1存储结构:层次化存储结构、外存(辅存)、内存(主存)、CPU内部的寄存器、Cache(相联存储器)

1.2.1存储结构:层次化存储结构、外存(辅存)、内存(主存)、CPU内部的寄存器、Cache(相联存储器)存储系统--层次化存储结构外存(辅存)内存(主存)CPU…

并发编程学习(八):ReentrantLock

ReentrantLock 是java.util.concurrent.locks包下的类。相对于synchronized,它具备如下特性:可中断。可以设置超时时间。可以设置公平锁。支持多个条件变量。即可以有个多个waitset等待队列。与synchronized都支持可重入。ReentrantLock的基本语法:// 获…

数学建模相关竞赛零基础上手与入门介绍

文章目录1、赛事介绍与报名2、学习与训练2.1 比赛题目选择范围2.2 赛前组队与分工2.3 比赛时间分配1、赛事介绍与报名 什么是数学建模? 定义: 生活中的各种问题(如股票预测、火灾报警统计等),运用数学的方式去阐述并解决它。 数学建模赛事 …

cisp证书含金量怎么样?值不值得考?

这是CISP考试报名条件参考: 成为CISP,必须满足以下基本要求: 申请CISE、CISO注册资质,需满足以下教育和工作经验要求: (1)教育和工作经历要求:硕士及硕士以上学历,具备…

LabVIEW在实时目标上使用文件路径

LabVIEW在实时目标上使用文件路径文件路径和结构因目标操作系统而异。本文档讨论了推荐的LabVIEW编码实践,用于指定文件路径,以便应用程序可以无缝地从目标移动目标。实时操作系统选项所有NI实时控制器运行三种不同的操作系统之一,即PharLap、…

Find My资讯|美国航班取消,出行者疯狂购买苹果AirTag追踪行李箱

美国西南航空(Southwest Airlines Co.)由于所使用的 SkySolver 系统在圣诞假期间崩溃,导致航班出现大面积延误或取消(大约 13000 个航班受到影响),让公司损失超过 8 亿美元(当前约 53.76 亿元人…

5.kafka--生产调优

文章目录Leader Partition负载均衡消费者初始化流程消费者再平衡生产者和消费者如何提高吞吐量如何发送大消息Leader Partition负载均衡 参数名称描述auto.leader.rebalance.enable默认是true。自动LeaderPartition平衡。生产环境中,leader重选举的代价比较大&…

ADB快速入门

ADB快速入门 一、 简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具用来连接电脑和Android设备(手机、电脑、电视、平板、…

LIO-SAM代码解析——imuPreintegration.cpp

目录imuPreintegration.cpp1. TransformFusion 类1.1. lidarOdometryHandler1.2. imuOdometryHandler2. IMUPreintegration 类2.1. imuHandler2.2. odometryHandler⭐2.2.1. 初始化系统, 把初始的lidar位姿,速度,零偏加入到因子图中2.2.2. 将两帧之间的i…

【深度学习】简述CNN分类网络的演变脉络及各自的贡献与特点

问题 简述CNN分类网络的演变脉络及各自的贡献与特点 综述 深度学习的浪潮就是从CNN开始的,它结构形态的变化也见证着这门技术的发展。现在涌进来学习深度学习的大部分人都是做计算机视觉的,因为这个门槛相对较低,业界数据集开源了很多,也比较直观,而且对硬件设备的要求…

2023年二月份图形化四级打卡试题

活动时间 从2023年 1月1日至1月21日,每天一道编程题。 本次打卡的规则如下: (1)小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 (2)小朋友做完题目后&…

Spring Boot 整合Redis分布式锁 Lua脚本

参考:微服务 Spring Boot 整合Redis分布式锁 Lua脚本 实现优惠卷秒杀 一人一单_Bug 终结者的博客-CSDN博客 一、什么是Lua? Lua 是一个小巧的脚本语言。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编…

MySQL事务学习笔记

事务就是保证一组数据库操作,要么全部成功,要么全部失败。事务的实现是在引擎层, 因此我们说的是InnoDB的事务。为何需要事务?比如有一个转钱的业务,A给B转100, 那么就是两条sql语句,一个是A的钱…

Spring Boot 热部署(热加载)

idea 热部署作用&#xff1a;自动帮开发者重启 spring boot 项目&#xff0c;从而达到修改代码之后能够“实时”的看到最新的效果1.添加热部署框架支持<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</…

Spring和Spring Boot的区别

&#x1f3c6;今日学习目标&#xff1a; &#x1f340;Spring和Spring Boot的区别 ✅创作者&#xff1a;林在闪闪发光 ⏰预计时间&#xff1a;30分钟 &#x1f389;个人主页&#xff1a;林在闪闪发光的个人主页 &#x1f341;林在闪闪发光的个人社区&#xff0c;欢迎你的加入: …

双目立体匹配(传统/深度)方法总结

双目立体匹配工作--2022年度总述投影几何标定单目标定双目标定校正立体匹配传统方法深度学习方法合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式总述 投影几何 标定 摄像机参数&#xff1a;一般一共15个相关参数&#xff1a; &#xff08;1&#xff09;外参数…

详解目前最火的自主泊车技术

/ 导读 /谈起目前的自动驾驶技术&#xff0c;民众们最为熟悉的一定是已经走入寻常百姓家的辅助驾驶功能。对比起L4甚至更高级别的自动驾驶&#xff0c;司机们更相信将方向盘能时刻掌握在自己手中&#xff0c;如果有突发情况可以及时地进行接管。而目前消费者已经能体验到的辅助…

prometheus安装及使用入门

文章目录前言一. prometheus介绍1.1 prometheus的起源2.1 prometheus的特点二. prometheus的安装2.1 实验环境2.2 安装前准备2.3 开始安装prometheus2.3.1 下载并解压prometheus server2.3.2 安装过程2.3.3 启动并查看端口2.3.4 打开浏览器查看图形界面总结前言 云原生四象限&…

【应用】SpringCloud -- Sentinel

SpringCloud -- SentinelSentinel 概述Sentinel 的安装与启动Sentinel 微服务创建Sentinel 规则流控规则热点规则熔断规则授权规则Sentinel 其他常用功能规则持久化自定义异常Sentinel 概述 sentinel 官方文档 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越…