Redis(持久化)

文章目录

    • 1.RDB
        • 1.介绍
        • 2.RDB执行流程
        • 3.持久化配置
          • 1.Redis持久化的文件是dbfilename指定的文件
          • 2.配置基本介绍
            • 1.进入redis配置文件
            • 2.搜索dbfilename,此时的dump.rdb就是redis持久化的文件
            • 3.搜索dir,每次持久化文件,都会在启动redis的当前目录下生成,并且每次找的也是当前目录的dump.rdb文件进行恢复
          • 3.持久化配置
            • 1.修改dir的配置为/root/则每次持久化的dump.rdb都会在/root/下,恢复时无论在哪里启动,都会读取这个文件进行恢复
            • 2.重启redis,使其生效
            • 3.进入root目录下,可以看到dump.rdb生成了
          • 4.默认快照配置
          • 5.手动进行持久化操作
            • 1.常用命令
            • 2.一般在命令行使用bgsave进行异步快照操作
            • 3.lastsave返回上一次保存的unix时间戳
          • 6.flushall
            • 1.介绍
          • 7.其余rdb配置
            • 1.save 如果要禁用持久化就设置为空串
            • 2.stop-writes-on-bgsave-error 如果磁盘满了,就不再写入,推荐yes
            • 3.rdbcompression 是否将快照进行压缩存储,默认yes
            • 4.是否开启数据校验,默认yes
            • 5.动态停止rdb(临时生效,重启就失效)
          • 8.rdb配置实例
            • 1.需求:如果Redis的key在30s内有五个key变化,就自动进行rdb备份
            • 2. 编辑配置文件,找到save设置,进行配置
            • 3.重启redis,使配置生效
            • 4.去/root/目录下查看目前的持久化文件的大小
            • 5.重新登陆redis命令行,在30s内设置至少五次key
            • 6.在30s后查看持久化文件,变成104了
        • 4.RDB备份和恢复
          • 1.备份使用cp指令即可
          • 2.恢复是在启动的时候读取配置文件中的dir的目录下的dump.rdb进行恢复
        • 5.RDB的优势和劣势
          • 1.优势
          • 2.劣势
    • 2.AOF
        • 1.基本介绍
          • 1.AOF是什么?
          • 2.AOF持久化的流程
        • 2.开启AOF配置
          • 1.开启方式
          • 2.开启AOF
            • 1.编辑配置文件找到appendonly,设置成yes
            • 2.重启redis,使配置生效,在/root/目录下生成了aof文件
            • 3.可以发现aof文件是空的,但是当RDB和AOF同时开启,默认读取的是aof文件,进行恢复,所以登录命令行,查看目前的库应该是空的
          • 3.AOF机制实例
            • 1.进入redis客户端,进行一些操作
            • 2.查看aof文件,可以看到记录了set和del指令,并没有记录get指令
          • 4.AOF恢复
            • 在开启了AOF的条件下,启动Redis时,会自动读取配置文件中配置的dir目录下的aof文件进行恢复
          • 5.AOF异常修复(数据可能丢失)
            • 1.首先关闭redis,退出客户端
            • 2.编辑aof文件,在最后添加一些字母
            • 3.重启redis,发现启动失败了
            • 4.执行在/usr/local/bin下的 redis-check-aof --fix 文件名 进行修复,由于/usr/local/bin是环境变量,就可以直接使用
            • 5.此时再重新启动redis,可以看到启动成功
            • 6.连接客户端,查看数据,由于之前是在文件后面加的内容,所以这次数据没有丢失
          • 6.AOF同步频率(从缓冲区同步到aof文件的频率,用默认的即可)
          • 7.Rewrite压缩
            • 1.基本介绍
            • 2.主动触发
            • 3.修改配置,自动触发
            • 4.关于配置自动触发的解析
          • 8.AOF的优势和劣势
            • 1.优势
            • 2.劣势
            • 3.如何选择?官方推荐都打开,不冲突,只是恢复的时候会使用aof文件进行恢复(数据一致性更好)

1.RDB

1.介绍

image-20240430090401500

2.RDB执行流程

image-20240430091140400

image-20240430091249176

3.持久化配置
1.Redis持久化的文件是dbfilename指定的文件

image-20240430091519058

2.配置基本介绍
1.进入redis配置文件
vim /etc/redis.conf
2.搜索dbfilename,此时的dump.rdb就是redis持久化的文件

image-20240430092122470

3.搜索dir,每次持久化文件,都会在启动redis的当前目录下生成,并且每次找的也是当前目录的dump.rdb文件进行恢复

image-20240430092155380

3.持久化配置
1.修改dir的配置为/root/则每次持久化的dump.rdb都会在/root/下,恢复时无论在哪里启动,都会读取这个文件进行恢复

image-20240430093253846

2.重启redis,使其生效

image-20240430093500646

3.进入root目录下,可以看到dump.rdb生成了

image-20240430093528969

4.默认快照配置
  • 如果没有打开注释,默认不会自动备份,只有在shutdown的时候才会备份

image-20240430093858223

image-20240430093945046

5.手动进行持久化操作
1.常用命令

image-20240430094634993

2.一般在命令行使用bgsave进行异步快照操作

image-20240430094814520

3.lastsave返回上一次保存的unix时间戳

image-20240430095146111

6.flushall
1.介绍

image-20240430095346715

7.其余rdb配置
1.save 如果要禁用持久化就设置为空串
2.stop-writes-on-bgsave-error 如果磁盘满了,就不再写入,推荐yes

image-20240430100214205

3.rdbcompression 是否将快照进行压缩存储,默认yes

image-20240430100336464

image-20240430100317343

4.是否开启数据校验,默认yes

image-20240430100627876

5.动态停止rdb(临时生效,重启就失效)

image-20240430112727294

8.rdb配置实例
1.需求:如果Redis的key在30s内有五个key变化,就自动进行rdb备份
2. 编辑配置文件,找到save设置,进行配置

image-20240430115114275

3.重启redis,使配置生效

image-20240430115331446

4.去/root/目录下查看目前的持久化文件的大小

image-20240430115521908

5.重新登陆redis命令行,在30s内设置至少五次key

image-20240430115627204

6.在30s后查看持久化文件,变成104了

image-20240430115702737

4.RDB备份和恢复
1.备份使用cp指令即可
2.恢复是在启动的时候读取配置文件中的dir的目录下的dump.rdb进行恢复
5.RDB的优势和劣势
1.优势

image-20240430121145732

2.劣势

image-20240430121250028

2.AOF

1.基本介绍
1.AOF是什么?

image-20240430121754067

2.AOF持久化的流程

image-20240430122347623

image-20240430122357912

2.开启AOF配置
1.开启方式

image-20240430122438143

2.开启AOF
1.编辑配置文件找到appendonly,设置成yes

image-20240430122849707

2.重启redis,使配置生效,在/root/目录下生成了aof文件
3.可以发现aof文件是空的,但是当RDB和AOF同时开启,默认读取的是aof文件,进行恢复,所以登录命令行,查看目前的库应该是空的

image-20240430123217580

3.AOF机制实例
1.进入redis客户端,进行一些操作

image-20240430134018331

2.查看aof文件,可以看到记录了set和del指令,并没有记录get指令

image-20240430134100465

4.AOF恢复
在开启了AOF的条件下,启动Redis时,会自动读取配置文件中配置的dir目录下的aof文件进行恢复
5.AOF异常修复(数据可能丢失)
1.首先关闭redis,退出客户端

image-20240430134810564

2.编辑aof文件,在最后添加一些字母

image-20240430135114227

3.重启redis,发现启动失败了

image-20240430135440578

4.执行在/usr/local/bin下的 redis-check-aof --fix 文件名 进行修复,由于/usr/local/bin是环境变量,就可以直接使用
redis-check-aof --fix /root/appendonly.aof 

image-20240430135849357

5.此时再重新启动redis,可以看到启动成功

image-20240430140019122

6.连接客户端,查看数据,由于之前是在文件后面加的内容,所以这次数据没有丢失

image-20240430140153787

6.AOF同步频率(从缓冲区同步到aof文件的频率,用默认的即可)

image-20240430140428985

7.Rewrite压缩
1.基本介绍

image-20240430141743469

2.主动触发

image-20240430141807013

3.修改配置,自动触发

image-20240430141834992

4.关于配置自动触发的解析
  • 第一个配置是自动触发的百分比,就是每次触发压缩,redis都会记录当前的文件大小,如果配置了100,就表示当文件大小是原来文件大小的(100 + 100) %也就是百分之二百时,自动触发压缩
  • 第二个配置是自动触发的最小内存,配置的64mb,指的就是,文件最小是64mb才能够自动触发压缩机制
8.AOF的优势和劣势
1.优势

image-20240430143036145

2.劣势

image-20240430143045919

3.如何选择?官方推荐都打开,不冲突,只是恢复的时候会使用aof文件进行恢复(数据一致性更好)

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

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

相关文章

【数据库表的约束】

文章目录 一、NULL vs (空字符串)二、not null 和default三、列描述字段comment四、zerofill五、primary key 主键总结 一、NULL vs ‘’(空字符串) NULL和空字符串’’ NULL代表什么都没有。 空字符串’代表有,但串…

致远M3 Session 敏感信息泄露漏洞复现

0x01 产品简介 M3移动办公是致远互联打造的一站式智能工作平台,提供全方位的企业移动业务管理,致力于构建以人为中心的智能化移动应用场景,促进人员工作积极性和创造力,提升企业效率和效能,是为企业量身定制的移动智慧协同平台。 0x02 漏洞概述 致远M3 server多个日志文…

如何做好一个活动策划?

活动策划的关键要素是什么? 首先,要明确一个概念:做活动就是走钢丝,没有保险的高空走钢丝!因为,活动没有“彩排”,只有现场"直播”! 无论什么类型的活动,人数是50人还是2000人,也不论预算…

大数据与会计专业主要学什么课程

大数据与会计专业是一个结合了传统会计知识与现代大数据技术的交叉学科,旨在培养既懂会计又熟悉大数据分析的复合型人才。该专业的学生将会学习以下主要课程内容: 会计基础课程:包括基础会计、财务会计、成本会计、管理会计等,这些…

1天搞定SpringBoot+Vue全栈开发 (8)前端路由VueRouter(进行组件切换)

1.VueRouter安装与使用 2.参数传递 创建路由组件 在项目中定义Discover.vue、Friends.vue、My.vue三个组件&#xff0c;将来要使用vue-router来控制它们的展示与切换&#xff1a; Discover.vue <template><div><h1>发现音乐</h1></div> <…

动态规划——路径问题:LCR 166.珠宝的最高价值

文章目录 题目描述算法原理1.状态表示&#xff08;题目经验&#xff09;2.状态转移方程3.初始化4.填表顺序5.返回值 代码实现CJava 题目描述 题目链接&#xff1a;LCR 166.珠宝的最高价值 算法原理 1.状态表示&#xff08;题目经验&#xff09; 对于这种路径类的问题&…

GORM 与 MySQL(一)

GORM 操作 Mysql 数据库&#xff08;一&#xff09; 温馨提示&#xff1a;以下关于 GORM 的使用&#xff0c;是基于 Gin 框架的基础上&#xff0c;如果之前没有了解过 Gin 可能略微困难。 GORM 介绍 GORM 是 Golang 的一个 orm 框架。简单说&#xff0c;ORM 就是通过实例对象…

ASP.NET网上鲜花销售系统的设计

摘 要 本系统实现了一般电子商务所具备的功能&#xff0c;如商品浏览、用户登录注册、网上与购物、结算、后台数据库管理等&#xff0c;利用这些功能可以对鲜花销售信息进行较好的管理。 网上鲜花销售系统的使用者主要是客户和销售管理者&#xff0c;对于客户来说&#xff0…

Qt | QComboBox(组合框)

01、上节回顾 Qt 基础教程合集02、QComBox 一、QComboBox 类(下拉列表、组合框) 1、QComboBox 类是 QWidget 类的直接子类,该类实现了一个组合框 2、QComboBox 类中的属性 ①、count:const int 访问函数:int count() const; 获取组合框中的项目数量,默认情况下,对于空…

java入门详细教程——day01

目录 1. Java入门 1.1 Java是什么&#xff1f; 1.2 Java语言的历史 1.3 Java语言的分类 1.4 Java语言的特点 1.4.1 先编译再解释运行 1.4.2 跨平台 1.5 JRE和JDK&#xff08;记忆&#xff09; 1.6 JDK的下载和安装&#xff08;应用&#xff09; 1.6.1 下载 1.6.2 安…

新手做抖音小店多久能出单?新手抖音小店出单秘籍!出单教程必看

大家好&#xff0c;我是电商花花。 现阶段还是有很多朋友加入到抖音电商行业&#xff0c;因为抖音小店上还隐藏很多的红利和市场&#xff0c;很多新手开店后第一个问题就是&#xff0c;店铺开通后&#xff0c;一般多久能出单&#xff1f; 多久能出单&#xff0c;其实更看重的…

并发编程之阻塞队列BlockingQueue实战及其原理分析

1. 阻塞队列介绍 1.1 队列 是限定在一端进行插入&#xff0c;另一端进行删除的特殊线性表。 先进先出(FIFO)线性表。 允许出队的一端称为队头&#xff0c;允许入队的一端称为队尾。

分布式与一致性协议之ZAB协议(五)

ZAB协议 ZAB集群如何从故障中恢复 如果我们想把ZAB集群恢复到正常状态&#xff0c;那么新领导者就必须确立自己的领导关系&#xff0c;成为唯一有效的领导者&#xff0c;然后作为主节点"领导"各备份节点一起处理读写请求 如何确立领导关系 前面提到&#xff0c;选…

5000A信号发生器使用方法

背景 gnss工作需要使用的5000A&#xff0c;所以做成文档&#xff0c;用于其他员工学习。 下载星历数据 https://cddis.nasa.gov/archive/gnss/data/daily/2024/brdc/ 修改daily中的年份&#xff0c;就可以获取相关截至时间的星历数据 brcd数据格式 第一行记录了卫星的PRN号&a…

Java毕业设计 基于SpringBoot vue企业信息管理系统

Java毕业设计 基于SpringBoot vue企业信息管理系统 SpringBoot 企业信息管理系统 功能介绍 员工&#xff1a;登录 个人中心 修改密码 个人信息 会议管理 公告管理 个人计划管理 通讯录管理 外出登记管理 请假管理 上下班打卡管理 管理员&#xff1a;登录 个人中心 修改密码 …

流量暴涨!抖音+快手+小红书获客攻略!

在数字营销的海洋中&#xff0c;抖音、快手和小红书无疑是三座巨大的灯塔&#xff0c;照亮了品牌和个人获取流量的道路。这些平台不仅拥有庞大的用户基础&#xff0c;而且其独特的算法和社交特性让获客变得更加高效而精准。接下来&#xff0c;让我们深入探讨如何通过这三个平台…

Eplan带你做项目——如何实现项目的交付

前言 Eplan作为一款专业的电气工程设计软件&#xff0c;不仅在设计阶段为电气工程师提供了强大的绘图、计算、仿真等功能&#xff0c;还具备丰富的数据管理与交换能力&#xff0c;能够便捷、准确地导出软件设计、生产制造所需的数据&#xff0c;实现电气设计与软件设计、生产制…

《QT实用小工具·五十九》随机图形验证码,带有一些可人的交互与动画

1、概述 源码放在文章末尾 该项目实现了可交互的动画验证码控件&#xff0c;趣味性十足&#xff1a; 字符变换动画 噪音动画 可拖动交互 项目demo演示如下所示&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef CAPTCHAMOVABLELABEL_H #define CAPTCHAMOVABLELABEL…

Kubernetes 教程:在 Containerd 容器中使用 GPU

原文链接:Kubernetes 教程:在 Containerd 容器中使用 GPU 云原生实验室本文介绍了如何在使用 Containerd 作为运行时的 Kubernetes 集群中使用 GPU 资源。https://fuckcloudnative.io/posts/add-nvidia-gpu-support-to-k8s-with-containerd/ 前两天闹得沸沸扬扬的事件不知道…

技术速递|使用 .NET 为 Microsoft AI 构建可扩展网关

作者&#xff1a;Kara Saucerman 排版&#xff1a;Alan Wang Microsoft AI 团队构建了全面的内容、服务、平台和技术&#xff0c;以便消费者在任何设备上、任何地方获取他们想要的信息&#xff0c;并为企业改善客户和员工的体验。我们的团队支持多种体验&#xff0c;包括 Bing、…