当前位置: 首页 > news >正文

Redis冲冲冲——Redis持久化方式及其区别

在这里插入图片描述

目录

  • 引出
  • Redis持久化方式
  • Redis入门
    • 1.Redis是什么?
    • 2.Redis里面存Java对象
  • Redis进阶
    • 1.雪崩/ 击穿 / 穿透
    • 2.Redis高可用-主从+哨兵
    • 3.持久化RDB和AOF
    • 4.Redis未授权访问漏洞
    • 5.Redis里面安装BloomFilte
  • Redis的应用
    • 1.验证码
    • 2.Redis高并发抢购
    • 3.缓存预热用户注册+验证码
    • 4.Redis和MySQL数据一致性
    • 5.用户登陆布隆过滤器
  • 总结

引出

Redis冲冲冲——Redis持久化方式


Redis持久化方式

Redis提供了两种主要的持久化方式:RDB(Redis Database)和AOF(Append-Only File)。

  1. RDB(Redis Database)持久化方式:
    • RDB是将Redis在内存中的数据以快照的形式保存到硬盘上的二进制文件中。
    • 当符合一定条件时,Redis会触发RDB持久化操作,将当前内存中的数据保存到RDB文件中。
    • RDB文件可以通过配置来指定保存的频率和路径。
    • RDB持久化方式适合用于进行数据备份、灾难恢复以及在某个时间点上的数据快照。
  2. AOF(Append-Only File)持久化方式:
    • AOF是通过将Redis的操作命令追加到文件末尾的方式来记录数据变化。
    • 当Redis服务器重启时,会重新执行AOF文件中的命令来恢复数据。
    • AOF文件可以通过配置来指定保存的频率和路径,并可以选择不同的同步策略(如每个命令写入磁盘、定期刷写、无刷写等)。
    • AOF持久化方式适合用于提供更好的数据安全性和持久性保证,但相对于RDB方式,会产生更大的文件和更高的写入性能开销。

区别:

  • RDB方式相对于AOF方式,文件更小,恢复速度更快,但会丢失最后一次持久化后的修改数据。
  • AOF方式相对于RDB方式,文件更大,恢复速度相对较慢,但可以提供更高的数据安全性和持久性保证。

在实际应用中,可以根据具体的需求和场景来选择合适的持久化方式。一般而言,可以同时使用RDB和AOF方式,以提供更好的数据备份、灾难恢复和数据持久性的保证。

当同时启用RDB和AOF方式时,Redis会按照以下方式处理:

  1. 数据恢复优先使用AOF文件:
    • 如果启用了AOF持久化,Redis会优先使用AOF文件来进行数据恢复。
    • Redis会读取AOF文件中的操作命令,逐个执行,恢复数据到内存中。
    • AOF文件记录了Redis服务器运行期间的操作历史,可以确保数据的完整性和持久性。
  2. AOF文件无法恢复时使用RDB文件:
    • 如果AOF文件损坏或无法恢复,Redis会尝试使用RDB文件进行数据恢复。
    • Redis会加载RDB文件,将其中的数据恢复到内存中。
    • RDB文件是Redis在某个时间点上的数据快照,可以提供快速的数据恢复。

同时使用RDB和AOF方式可以提供更好的数据安全性和可靠性。AOF文件记录了每个操作命令,可以保证数据的持久性和完整性,但相对来说更消耗磁盘空间和写入性能。而RDB文件则提供了更快速的数据恢复能力,但会丢失最后一次持久化后的修改数据。

在配置Redis时,可以通过配置文件中的appendonly选项来启用AOF持久化,以及通过save选项来配置RDB持久化的频率和方式。具体的配置方式可以根据实际需求进行调整。

Redis入门

1.Redis是什么?

Redis入门(1)——Redis是啥 & 安装Docker的Redis & Redis的基本数据类型+常用命令 & SpringBoot整合Redis初步

在这里插入图片描述

2.Redis里面存Java对象

Redis应用(8)——Redis的项目应用:结合SpringBoot如何在Redis里面存对象 & RedisUtil工具类的封装 & 遇到的问题

在这里插入图片描述

Redis进阶

1.雪崩/ 击穿 / 穿透

Redis应用(7)——Redis的项目应用(六):布隆过滤器—白名单 ----> Reids的问题,雪崩/ 击穿 / 穿透【重要】& 布隆过滤器

在这里插入图片描述

2.Redis高可用-主从+哨兵

Redis进阶(2)——Redis数据的持久化 & CAP分布式理论(高可用性) & Redis主从搭建 & Redis的哨兵机制

Redis进阶(3)——在Linux上基于Docker容器Redis搭建一主二从三哨兵 & SpringBoot整合Redis哨兵

华为云云耀云服务器L实例评测|初始化配置SSH连接 & 安装MySQL的docker镜像 & 安装redis以及主从搭建 & 7.2版本redis.conf配置文件

3.持久化RDB和AOF

Redis进阶(4)——结合redis.conf配置文件深入理解 Redis两种数据持久化方案:RDB和AOF

在这里插入图片描述

4.Redis未授权访问漏洞

认识redis未授权访问漏洞 & 漏洞的部分复现 & 设置连接密码 & redis其他命令学习

在这里插入图片描述

5.Redis里面安装BloomFilte

华为云云耀云服务器L实例评测|在Redis的Docker容器中安装BloomFilter & 在Spring中使用Redis插件版的布隆过滤器

Redis的应用

1.验证码

Redis应用(2)——Redis的项目应用(一):验证码 —> UUID到雪花ID & JMeter高并发测试 & 下载安装使用

在这里插入图片描述

2.Redis高并发抢购

Redis应用(3)——Redis的项目应用(二):抢购图书 —> Redis高并发的问题 & 分布式锁Redission的使用

在这里插入图片描述

Redis应用(4)——Redis的项目应用(三):抢购图书2.0 —> Lua脚本 & Redis+Lua+Redission实现抢购 & Redission锁

在这里插入图片描述

Redis进阶(5)——Redis数据一致性 & 用Java代码加锁解决一致性 & 采用lua脚本实现减1的原子性 & 分布式环境下的setnex锁及其问题 & Redission框架的使用

在这里插入图片描述
IDEA启动两个Tomcat服务的方式 & 使用nginx进行反向代理 & JMeter测试分布式情况下synchronized锁失效

在这里插入图片描述

3.缓存预热用户注册+验证码

Redis应用(5)——Redis的项目应用(四):缓存预热,用户注册为例 —>注册的流程 & 缓存预热的方式,quartz方式 / @Schedule方式

在这里插入图片描述

RabbitMQ的Docker版本安装 + 延迟插件安装 & QQ邮箱和阿里云短信验证码的主题模式发送

在这里插入图片描述

4.Redis和MySQL数据一致性

Redis应用(6)——Redis的项目应用(五):缓存自动更新 —>Canal管道 & MySQL配置+安装canal & 入门案例 & Canal的项目应用

在这里插入图片描述

基于canal缓存自动更新流程 & SpringBoot项目应用案例和源码

在这里插入图片描述

5.用户登陆布隆过滤器

Redis应用(7)——Redis的项目应用(六):布隆过滤器—白名单 ----> Reids的问题,雪崩/ 击穿 / 穿透【重要】& 布隆过滤器

在这里插入图片描述


总结

Redis冲冲冲——Redis持久化方式

相关文章:

Redis冲冲冲——Redis持久化方式及其区别

目录 引出Redis持久化方式Redis入门1.Redis是什么?2.Redis里面存Java对象 Redis进阶1.雪崩/ 击穿 / 穿透2.Redis高可用-主从哨兵3.持久化RDB和AOF4.Redis未授权访问漏洞5.Redis里面安装BloomFilte Redis的应用1.验证码2.Redis高并发抢购3.缓存预热用户注册验证码4.R…...

谷粒商城【成神路】-【10】——缓存

目录 🧂1.引入缓存的优势 🥓2.哪些数据适合放入缓存 🌭3.使用redis作为缓存组件 🍿4.redis存在的问题 🧈5.添加本地锁 🥞6.添加分布式锁 🥚7.整合redisson作为分布式锁 &#x1f697…...

Facebook、亚马逊账号如何养号?

之前我们讨论过很多关于代理器的问题。它们的工作原理是什么?在不同的软件中要使用那些代理服务器?这些代理服务器之间的区别是什么?什么是反检测浏览器等等。 除了这些问题,相信很多人也会关心在使用不同平台的时代理器的选择问题。比如,为什么最好…...

Milvus的相似度指标

官网:https://milvus.io/docs/metric.md版本: v2.3.x 在 Milvus 中,相似度度量用于衡量向量之间的相似度。选择良好的距离度量有助于显着提高分类和聚类性能。下表展示了这些广泛使用的相似性指标如何与各种输入数据形式和 Milvus 索引相匹配。 一、浮…...

如何在unity中实现倒计时

public class showtime : MonoBehaviour {public TextMeshProUGUI Countdown;void Update(){if (Input.GetKeyDown(KeyCode.Space))//如果按下空格后开始倒计时{StartCoroutine(hahaha());}}IEnumerator hahaha()//声明了一个协程函数 hahaha{int time 10;Countdown.text tim…...

蓝桥杯简单题,公司名称

题目链接&#xff08;需要登录&#xff09; #include <iostream> #include <cstring> #include <algorithm> using namespace std; bool lanqiao(string str,int len){ sort(str.begin(),str.end());//对str按照ascii排序if(str.find("Laainoq")s…...

【linux】02 :Linux基础命令

1.掌握linux系统的目录结构 linux只有一个顶级目录&#xff0c;称之为&#xff1a;根目录。 windows系统有多个顶级目录&#xff0c;即各个盘符。 2.linux路径的描述方式 /在Linux中的表示&#xff1a;出现在开头表示根目录&#xff0c;出现在后面表示层级关系。 3.什么是命…...

AOP切面编程,以及自定义注解实现切面

AOP切面编程 通知类型表达式重用表达式切面优先级使用注解开发&#xff0c;加上注解实现某些功能 简介 动态代理分为JDK动态代理和cglib动态代理当目标类有接口的情况使用JDK动态代理和cglib动态代理&#xff0c;没有接口时只能使用cglib动态代理JDK动态代理动态生成的代理类…...

C70600 CuNi10Fe1Mn铜合金深冲性能好

C70600 CuNi10Fe1Mn铜合金深冲性能好CW608N-R460、CW608N-H135、CuZn36Pb2As-R370、CuZn38Pb1-R460、CW607N-H120、CuZn38Pb1-H120、CW602N-H080、CW608N-H105、CuZn39Pb0.5-R460、CuZn39Pb0.5-H120、CW608N-H120、CuZn38Pb1-R470、CW607N-H080、CW607N-R470、CW607N-H105、CuZ…...

算法学习05:离散化、区间合并

算法学习05&#xff1a;离散化、区间合并 文章目录 算法学习05&#xff1a;离散化、区间合并前言需要记忆的模版&#xff1a;一、离散化1.例题&#xff1a;离散化 区间和&#xff1a;拓展: 二、区间合并&#xff08;贪心&#xff09;1.例题&#xff1a; 总结 前言 需要记忆的模…...

内部审计2.0时代:数字化工具和方法全面升级

文章目录 一、内部审计的发展阶段二、内部审计的逻辑架构三、内部审计数字化转型面临的问题&#xff08;1&#xff09;缺少内部审计数字化转型规划和方案&#xff08;2&#xff09;非结构化数据的采集和后续利用不足&#xff08;3&#xff09;依赖编程或使用新工具的数据分析能…...

五子棋小游戏(sut实验报告)

实验目的 实现人与人或人与电脑进行五子棋对弈 实验内容 启动游戏&#xff0c;显示游戏参数设置界面&#xff0c;用户输入参数后进入游戏界面&#xff0c;显示棋盘及双方博弈过程&#xff0c;游戏过程中可选择退出游戏。判定一方获胜后结束本局游戏&#xff0c;可选择继续下…...

图像超分辨率算法ESRGAN原理及应用

前言 图像超分辨率算法是一种用于增加图像分辨率的算法,与传统的图像缩放算法不同的是,超分算法在放大图像的同时根据原图纹理生成更多细节,确保图像在放大后仍然有清晰的纹理细节。 一、模型简介 1、模型开源地址 GitHub - xinntao/ESRGAN: ECCV18 Workshops - Enhance…...

excel 动态列导出

excel动态列&#xff0c;只好用poi来写了&#xff0c;也并不复杂&#xff0c;一样就这个件事情抽像为几步&#xff0c;就是套路了&#xff0c;开发效率就上去了。 1 准备空模板 导出操作与excel模板的导出一样&#xff0c;可以参考excel导出标准化 2 自定义SheetWriteHandler …...

Java零基础入门到精通_Day 1

01 Java 语言发展史 Java语言是美国Sun公司(StanfordUniversity Network)在1995年推出的 计算机语言Java之父:詹姆斯高斯林(ames Gosling) 重要的版本过度&#xff1a; 2004年 Java 5.0 2014年 Java 8.0 2018年 9月 Java 11.0 &#xff08;目前所使用的&#xff09; 02 J…...

Spring Cloud集成nacos配置中心

1.添加Nacos Config依赖 打开nacos-config-demo的pom.xml文件并添加以下两个依赖项 项目的配置文件中通常包括数据库连接配置项、日志输出配置项、Redis连接配置项、服务注册配置项等内容&#xff0c;如spring-cloud-alibaba-nacos-config-base-demo项目中就包含数据库连接配置…...

【AI视频教程】只需5步,AI作出鸡你太美视频

1.视频效果 2.准备工作 制作视频效果&#xff0c;需要准备下面3个条件&#xff1a; 准备stable diffusion的环境剪辑一段【鸡你太美】原版视频stable diffusion安装sd-webui-IS-NET-pro插件 2.1部署stable diffusion环境 这里还是建议大家用云平台部署stable diffusion&am…...

C# OpenCvSharp DNN FreeYOLO 密集行人检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN FreeYOLO 密集行人检测 效果 模型信息 Inputs ------------------------- name&#xff1a;input tensor&#xff1a;Float[1, 3, 192, 320] --------------------------------------------------------------- …...

一次HW红初面试

一、描述外网打点的流程&#xff1f; 靶标确认、信息收集、漏洞探测、漏洞利用、权限获取。最终的目的是获取靶标的系统权限/关键数据。 在这个过程中&#xff0c;信息收集最为重要。掌握靶标情报越多&#xff0c;后续就会有更多的攻击方式去打点。比如&#xff1a;钓鱼邮件、…...

网络攻防中nginx安全配置,让木马上传后不能执行、让木马执行后看不到非网站目录文件、命令执行后权限不能过高

网络攻防中nginx安全配置,让木马上传后不能执行、让木马执行后看不到非网站目录文件、命令执行后权限不能过高。 0x01 Nginx介绍 nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。nginx一般是把请求发…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...

前端工具库lodash与lodash-es区别详解

lodash 和 lodash-es 是同一工具库的两个不同版本&#xff0c;核心功能完全一致&#xff0c;主要区别在于模块化格式和优化方式&#xff0c;适合不同的开发环境。以下是详细对比&#xff1a; 1. 模块化格式 lodash 使用 CommonJS 模块格式&#xff08;require/module.exports&a…...