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.介绍

2.RDB执行流程


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

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

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

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

2.重启redis,使其生效

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

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


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是环境变量,就可以直接使用
redis-check-aof --fix /root/appendonly.aof

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

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

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

7.Rewrite压缩
1.基本介绍

2.主动触发

3.修改配置,自动触发

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

2.劣势

3.如何选择?官方推荐都打开,不冲突,只是恢复的时候会使用aof文件进行恢复(数据一致性更好)
相关文章:
Redis(持久化)
文章目录 1.RDB1.介绍2.RDB执行流程3.持久化配置1.Redis持久化的文件是dbfilename指定的文件2.配置基本介绍1.进入redis配置文件2.搜索dbfilename,此时的dump.rdb就是redis持久化的文件3.搜索dir,每次持久化文件,都会在启动redis的当前目录下…...
基于Flask的岗位就业可视化系统(一)
🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 前言 本项目综合了基本数据分析的流程,包括数据采集(爬虫)、数据清洗、数据存储、数据前后端可视化等 推荐…...
嵌入式学习68-C++(运算符重载和虚函数)
知识零碎: cin >> n 相当于scanf C系统提供的6种基本函数 …...
UVA1048/LA3561 Low Cost Air Travel
UVA1048/LA3561 Low Cost Air Travel 题目链接题意输入格式输出格式 分析AC 代码 题目链接 本题是2006年ICPC世界总决赛的A题 题意 很多航空公司都会出售一种联票,要求从头坐,上飞机时上缴机票,可以在中途任何一站下飞机。比如,假…...
学习和分析各种数据结构所要掌握的一个重要知识——CPU的缓存利用率(命中率)
什么是CPU缓存利用率(命中率),我们首先要把内存搞清楚。 硬盘是什么,内存是什么,高速缓存是什么,寄存器又是什么? 我们要储存数据就要运用到上面的东西。首先里面的硬盘是可以无电存储的&#…...
IOS自动化—将WDA打包ipa批量安装驱动
前言 CSDN: ios自动化-Xcode、WebDriverAgent环境部署 ios获取原生系统应用的包 如果Mac电脑没有配置好Xcode相关环境,可以参考以上文章。 必要条件 Mac电脑,OS版本在12.4及以上(低于这个版本无法安装Xcode14,装不了Xcode14就…...
SAP PP学习笔记12 - 评估MRP的运行结果
上一章讲了MRP的概念,参数,配置等内容。 SAP PP学习笔记11 - PP中的MRP相关概念,参数,配置-CSDN博客 本章来讲 MRP跑完之后呢,要怎么评估这个MRP的运行结果。 1,Stock/Requirements List and MRP List 在…...
AndroidStudio的Iguana版的使用
1.AndroidStudio介绍 Android Studio 是用于开发 Android 应用的官方集成开发环境 (IDE)。Android Studio 基于 IntelliJ IDEA 强大的代码编辑器和开发者工具,还提供更多可提高 Android 应用构建效率的功能,例如: 基于 Gradle 的灵活构建系统…...
通过方法引用获取属性名的底层逻辑是什么?
很多小伙伴可能都用过 MyBatis-Plus,这里边我们构造 where 条件的时候,可以直接通过方法引用的方式去指定属性名: LambdaQueryWrapper<Book> qw new LambdaQueryWrapper<>(); qw.eq(Book::getId, 2); List<Book> list bo…...
自学错误合集--项目打包报错,运行报错持续更新中
java后端自学错误总结 一.项目打包报错2.项目打包之后运行报错 二.项目运行报错 一.项目打包报错 javac: �Ҳ����ļ�: E:\xx\xx\xx\docer-xx\src\main\java\xx\xx\xx\xx\xx\xx.java �ÿ…...
KUKA机器人故障报警信息处理(一)
1、KSS00276 机器人参数不等于机器人类型 ①登录专家模式 ②示教器操作:【菜单】—【显示】—【变量】—【单个】 ③名称输入:$ROBTRAFO[] 新值:TRAFONAME[] ④点击【设定值】。 2、电池报警: ①“充电电池警告-发现老化的蓄电池…...
数仓开发:DIM层数据处理
一、了解DIM层 这个就是数仓开发的分层架构 我们现在是在DIM层,从ods表中数据进行加工处理,导入到dwd层,但是记住我们依然是在DIM层,而非是上面的ODS和DWD层。 二、处理维度表数据 ①先确认hive的配置 -- 开启动态分区方案 -- …...
echars设置渐变颜色的方法
在我们日常的开发中,难免会遇到有需求,需要使用echars设置渐变的图表,如果我们需要设置给图表设置渐变颜色的话,我们只需要在 series 配置项中 添加相应的属性配置项即可。 方式一:colorStops type:‘lin…...
SpringBoot3项目打包和运行
六、SpringBoot3项目打包和运行 6.1 添加打包插件 在Spring Boot项目中添加spring-boot-maven-plugin插件是为了支持将项目打包成可执行的可运行jar包。如果不添加spring-boot-maven-plugin插件配置,使用常规的java -jar命令来运行打包后的Spring Boot项目是无法找…...
Spring Cloud Gateway的部署
不要将 Spring Cloud Gateway 部署到 Tomcat 可以将Spring Cloud Gateway打成jar包,并通过jar包部署,步骤: 1. 修改构建配置 确保你的pom.xml文件中的打包方式为jar。 <packaging>jar</packaging> 2 打包项目 mvn clean pack…...
算法提高之树的最长路径
算法提高之树的最长路径 核心思想:树形dp 枚举路径的中间节点用f1[i] 表示i的子树到i的最长距离,f2[i]表示次长距离最终答案就是max(f1[i]f2[i]) #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N …...
git/gerrit使用遇到的问题
Push时出现的多个问题及其解决 branch【...】not found 这个错误通常出现在 Git 命令中指定的分支名称中包含特殊字符或者语法错误时。需要确保指定的分支名称是正确的,并且没有任何不支持的字符。 例如,如果分支名称是 feature/branch,应该…...
机器学习第二天(监督学习,无监督学习,强化学习,混合学习)
1.是什么 基于数据寻找规律从而建立关系,进行升级,如果是以前的固定算式那就是符号学习了 2.基本框架 3.监督学习和无监督式学习: 监督学习:根据正确结果进行数据的训练; 在监督式学习中,训练数据包括输…...
Rust 解决循环引用
导航 循环引用一、现象二、解决 循环引用 循环引用出现的一个场景就是你指向我,我指向你,导致程序崩溃 解决方式可以通过弱指针,而Rust中的弱指针就是Weak 在Rc中,可以实现,对一个变量,持有多个不可变引…...
ICC2:如何解决pin density过高引起的绕线问题
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 为了追求极致的利用率,综合往往会使用大量的AOI/OAI等多pin cell,然而后端实现过程中,工具为了解决绕线难题,又会通过降低local density的方法实现反向奔赴,即便如此,绕线后仍会残留不少问题,…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
轻量安全的密码管理工具Vaultwarden
一、Vaultwarden概述 Vaultwarden主要作用是提供一个自托管的密码管理器服务。它是Bitwarden密码管理器的第三方轻量版,由国外开发者在Bitwarden的基础上,采用Rust语言重写而成。 (一)Vaultwarden镜像的作用及特点 轻量级与高性…...
迁移科技3D视觉系统:重塑纸箱拆垛场景的智能革命
一、传统拆垛场景的困局与破局之道 在汽车零部件仓库中,每天有超过2万只异形纸箱需要拆垛分拣。传统人工拆垛面临三大挑战: 效率瓶颈:工人每小时仅能处理200-300件,且存在间歇性疲劳安全隐患:20kg以上重箱搬运导致年…...
