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

目录

引出

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持久化方式

相关推荐
Elastic 中国社区官方博客4 小时前
将你自己的密钥用于现有 Elastic Cloud 部署
大数据·数据库·elasticsearch·全文检索
红海云5 小时前
Jev:给智能系统做判断的模型
大数据·数据库·人工智能
wjkjpcba5 小时前
PCBA烧录程序是什么:PCBA包工包料厂家解析烧录与测试
linux·数据库·人工智能·smt贴片加工·pcba贴片加工厂
꯭自꯭闭꯭5 小时前
达梦事物特性及MVCC
linux·运维·数据库
小马同学-6 小时前
MySQL主从复制和读写分离
数据库·mysql
谢亮_vipxieliang6 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
geovindu7 小时前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
IT大白鼠7 小时前
图数据库系列 · 第 02 篇——架构拆解:原生图存储到因果集群
数据库·架构·nosql
hweiyu007 小时前
Redis命令:HTTL
redis·缓存
EatFan8 小时前
从“框架混战“到“运行时收敛“:2026 年 AI Agent 开发框架的三条路线之争
java·数据库·人工智能·多智能体·ai agent·mcp·agent 框架