Redis的持久化

redis数据持久化 在实际使用中需要根据Redis作为主存还是缓存、数据完整性和缺失性的要求、CPU和内存情况等诸多因素来确定适合自己的持久化方案,一般来说稳妥的做法包括:RDB与AOF同时使用:最安全的做法,即使AOF损坏无法修复,还可以用RDB来恢复数据,当然在持久化时对性能也会有影响。只使用RDB:在Redis当简单缓存,没有缓存也不会造成缓存雪崩的情况下可只使用RDB即可。单独使用AOF:不推荐,因为AOF对于数据的恢复载入比RDB慢,所以使用AOF的时候,最好还是有RDB作为备份。 阅读详情

Redis的持久化机制是确保数据安全的关键功能,主要包括RDB快照和AOF日志两种方式。以下是详细的实现方法及配置推荐,无特殊要求按照默认走就可以无需修改(自学阶段),在公司会有大佬去配置的,简单了解一下即可,知道有这个东西:


一、RDB(Redis Database)持久化(快照)

原理:定期将内存数据生成二进制快照(.rdb文件)保存到磁盘。

1. 触发条件
  • 手动触发:执行 SAVE(阻塞)或 BGSAVE(后台异步)命令。
  • 自动触发:通过配置文件设置规则,满足条件时自动触发 BGSAVE:
    save 900 1     # 900秒内至少1次修改
    save 300 10    # 300秒内至少10次修改
    save 60 10000  # 60秒内至少10000次修改
    
2. 优缺点
  • 优点:文件紧凑、恢复速度快、适合灾难恢复。
  • 缺点:可能丢失最后一次快照后的数据。
3. 配置文件推荐
# 启用RDB
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes  # 备份出错时禁止写入
rdbcompression yes               # 启用压缩
rdbchecksum yes                  # 启用校验和
dbfilename dump.rdb              # RDB文件名
dir /var/lib/redis               # 持久化文件目录

二、AOF(Append Only File)持久化(文件)

原理:记录每个写操作命令,以追加日志(.aof文件)方式保存。

1. 同步策略
  • appendfsync always:每次写操作同步,数据最安全,性能最低。
  • appendfsync everysec(推荐):每秒同步,平衡性能与安全。
  • appendfsync no:由操作系统决定,性能最好,可能丢失数据。
2. AOF重写
  • 目的:压缩AOF文件体积(如合并重复命令)。
  • 触发方式:
    • 手动:执行 BGREWRITEAOF。
    • 自动:根据配置规则触发:
      auto-aof-rewrite-percentage 100  # 当前AOF文件大小超过上次重写后的100%
      auto-aof-rewrite-min-size 64mb   # AOF文件最小达到64MB
      
3. 配置文件推荐
# 启用AOF
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec                # 推荐使用每秒同步

# AOF重写配置
no-appendfsync-on-rewrite no        # 重写期间允许同步
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

# 异常恢复
aof-load-truncated yes              # AOF损坏时尝试加载截断的数据

三、混合持久化(RDB + AOF)

推荐策略:同时启用RDB和AOF,兼顾快速恢复与数据安全。

  • 恢复优先级:Redis重启时优先加载AOF(数据更完整)。
  • 配置示例:
    # 启用RDB和AOF
    save 900 1
    appendonly yes
    appendfsync everysec
    

四、注意事项与优化建议

  1. 监控与备份:

    • 定期检查 info persistence 输出,确认持久化状态。
    • 使用定时任务(如cron)备份RDB/AOF文件到远程存储。
  2. 性能调优:

    • 将持久化文件存储在高性能磁盘(如SSD)。
    • 避免RDB/AOF与业务高峰期重叠(通过调整 save 规则)。
  3. 容灾处理:

    • 设置 stop-writes-on-bgsave-error yes 防止数据损坏。
    • 使用 redis-check-aof 和 redis-check-rdb 工具修复文件。
  4. 生产环境推荐配置:

    # RDB配置
    save 3600 1  # 根据业务调整触发频率
    rdbcompression yes
    
    # AOF配置
    appendonly yes
    appendfsync everysec
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    
    # 通用配置
    dir /data/redis  # 使用独立数据目录
    

五、总结

  • RDB:适合快速恢复和备份,容忍分钟级数据丢失。
  • AOF:提供更高数据安全性,适合对数据一致性要求高的场景。
  • 混合模式:结合两者优势,推荐生产环境使用。

根据业务需求合理选择持久化策略,并配合监控、备份和测试恢复流程,才能最大限度保障数据安全。

永久关闭Windows更新的5种方法 很多家用电脑,如果系统自动更新的话,会变得越来越卡顿,且硬件型号兼容也并不完美。那么我们该如何彻底关闭Win11的自动更新呢?以下准备了5种方法,您可以根据自身实际情况选择合适的方法! 阅读详情

相关推荐

Halcon棋盘格畸变矫正

通常我们使用的相机都是带有一定的畸变的,只是畸变的大小不同。对于我们常见的测量项目来说,对测量精度的要求很高,通常从相机镜头上进行优化,但是即使镜头优化或者成本原因,造成图像仍有一定的畸变时,我们就可是使用棋盘格标定板,进行畸变矫正。

m0_51559565的博客 3396

详解Redis之持久化

详解Redis持久化之RDB持久化和AOF持久化。

. 9419

别再乱选离散化方法了!从零到一用Matlab对比差分、双线性Tustin和预矫正的实战效果

本文深入探讨了Matlab中四种主流离散化方法(差分、双线性Tustin和预矫正)的实战效果对比,帮助工程师在数字控制系统设计中做出明智选择。通过详细的理论分析和Matlab代码示例,展示了不同方法在稳定性、频率响应和计算复杂度上的差异,并提供了针对不同场景的工程选用指南。

weixin_28737603的博客 141

[Redis] Redis数据持久化

我们之前在学习MySQL数据库的时候,我们学习过MySQL事务的四个比较核心的特性:分别是原子性(把对多个表的操作打包为一个操作),一致性(事务前后的数据都是合法数据,比如同一个操作中同时减少和增加一个值,要不同时成功,要不同时失败,不能出现中间状态),持久性(把数据存储在硬盘上),隔离性(脏读,不可重复读,幻读,串行化).

无需多言 2696

COMSOL模拟CO2驱替CH4:多物理场耦合建模与工程应用详解

在非常规天然气开发与碳封存工程中,多孔介质内的渗流、吸附与岩石变形相互耦合,使得CO2驱替CH4的产能预测和CO2封存评估无法仅靠经验公式完成。以达西定律描述裂隙流动、以扩展Langmuir方程刻画竞争吸附、用应力-吸附-渗透率关系关联煤岩变形,是多物理场耦合数值模拟的核心路径。COMSOL Multiphysics凭借内置渗流、固体力学与组分传递接口,能够将这些机制整合为可参数化扫描的仿真模型,为注气压力、井距、渗透率演化等方案设计提供量化依据。围绕CO2驱替CH4模拟的建模流程、参数取法与结果判读,可形

weixin_29574585的博客 160

Java代码变更影响分析:从静态解析到动态调用图的实战全链路

本文介绍了Java代码提交影响分析的核心原理与实现方法。主要内容包括:1)静态分析技术,通过JavaParser解析AST构建调用图,记录类与方法间的调用关系;2)动态分析技术,使用ByteBuddy进行字节码增强,捕获运行时调用路径;3)JCCI工具实现,结合javalang、unidiff等技术分析代码改动影响,并将结果存储到SQLite数据库。文章提供了完整的代码示例,展示了从AST解析、动态调用跟踪到实际工具应用的完整技术栈,为代码变更影响分析提供了实用解决方案。

墨夶的博客 1252

Redis两种持久化方式

Redis两种持久化方式

水w的博客 1975

11.Labview实现用户界面切换的几种方式---通过VI间相互调用

本文介绍了界面切换的几种方式,分别是重入和引用①重入方式可以通过调用子VI的方式打开被调用的界面,往往应用于弹窗等的设置程序。②引用方式分两种,一种是打开引用,一种是静态引用。区别在于打开引用需要设置被打开VI的目标地址,静态引用仅需在引用时绑定VI的位置即可。③推荐使用静态引用的方式切换界面。④使用引用打开界面时,需通过属性节点和调用节点来设置程序的状态。更多内容欢迎大家补充和留言讨论~本文介绍了GUI界面设计相关的程序,更多相关文章后续持续更新,请关注作者不迷路~本期就到这里,再见~

关注我,更多技术问题欢迎私聊~ 9544

【Redis】持久化机制

Redis持久化

chaodddddd的博客 2583

把收款差异从扯皮变成闭环:SAP S/4HANA Dispute Resolution 模块到底解决什么问题?

本文摘要: SAP S/4HANA的争议解决模块(Dispute Resolution)通过标准化流程管理企业应收争议,解决发票与收款差异问题。核心是创建可追踪的Dispute Case工单,明确处理角色(Processor和Manager),并与财务系统联动实现自动清账。系统支持手工/自动创建争议工单,通过动态默认值减少错误,并最终实现争议金额归零的闭环管理。文中给出制造业客户扣款的完整处理案例,并强调组织落地需统一权限与目录。最后提供ABAP代码示例展示如何通过BAPI创建争议工单。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 163

GD32F4xx 移植agile_modbus软件包与电能表通信

GD32F4XX 移植agile modbus软件包实现与DTSU电能表通信调试记录

madao1234的博客 1304

redis的持久化

Redis 的持久化机制主要是通过内部的方式来实现的,而不是直接将数据写入到外部数据库(如 MySQL)。下面将详细介绍 Redis 的默认持久化机制,以及如何通过编程的方式将 Redis 数据手动同步到 MySQL。

2301_76723322的博客 1543

30、航空公司调度问题的数学模型解析

本文详细解析了航空公司调度问题中的核心数学模型,包括航班时刻表生成、机组人员排班和飞机调度的建模方法与求解技术。通过定义变量、约束条件及目标函数,结合线性规划、整数规划等方法,帮助航空公司实现高效调度。文章还探讨了模型的优化策略、简化方法以及实际应用案例,为提升航空运营效率提供了理论支持和实践指导。

beer8的博客 258

【redis】redis持久化

两种持久化方式(1)RDB(Redis DataBase):内存中数据直接写入文件中(2)AOF(Append Of File):以追加的行为把内容写入文件中。

rita_0567的博客 1628

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Redis 之持久化

Redis提供了两个持久化数据的能力,RDB Snapshot 和 AOF(Append Only FIle)日志,RDB快照能够在指定的时间间隔内生成数据快照,而AOF日志则记录了所有的写操作命令。RDB做镜像全量持久化,AOF做增量持久化。 RDB全称Redis Database Backup file (Redis数据备份⽂件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。 当Redis实例故障重启后,从磁盘读取快照⽂件,恢复数据。这样一来即使

gorgor在码农 1384

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Redis 持久化

Redis持久化机制对比:RDB与AOF Redis提供两种持久化方式:RDB(快照)和AOF(日志)。RDB通过定期生成二进制快照文件实现备份,具有文件小、恢复快的特点,但可能丢失两次备份间的数据。AOF记录每个写操作,数据安全性更高,但文件体积较大。两者主要区别在于:RDB只保存fork时的内存状态,而AOF会额外缓存后续修改。实际应用中,Redis4.0引入混合持久化,结合两者优势,在AOF重写时先用RDB格式保存当前状态,再追加后续AOF日志。当两种文件同时存在时,Redis优先使用数据更完整的AO

2302_80192828的博客 1540

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Redis --- Redis如何做持久化

Redis如何做持久化 一共三种 一、RDB(快照)持久化:保存某个时间点的全量数据快照 redis.conf save 60 1 代表Redis在60秒内写入一条数据那么进行快照 stop-writes-on-basave-error yes 代表当备份进程出错的时候,主进程就停止写入新的操作了。这样是为了保护持久化数据一致性的问题。 rdbcompression yes 表示...

xinbumi的博客 2万+

Redis:持久化

讲解Redis的持久化,包括AOF,RDB,混合持久化

博客网站 https://async-area.com 1962

Redis持久化

无论是AOF持久化还是快照持久化,将数据持久化到硬盘上都是非常有必要的,但除了进行持久化外,用户还必须对持久化得到的文件进行备份(最好是备份到不同的地方),这样才能尽量避免数据丢失事故发生。开启AOF持久化后每执行一条会更改Redis中的数据的命令,Redis就会将该命令写入硬盘中的AOF文件。选项一般不推荐,这种方案会使Redis丢失不定量的数据而且如果用户的硬盘处理写入操作的速度不够的话,那么当缓冲区被等待写入的数据填满时,Redis的写入操作将被阻塞,这会导致Redis的请求速度变慢。

2401_89317354的博客 849

Redis持久化的方式

本文主要讲述了redis的rdb,aof持久化的原理流程和配置使用

sjhhshsh的博客 1951
上一篇: 解决超卖问题
下一篇: Redis主从架构配置 读写分离
小李不秃头♛
博客等级 码龄2年 619粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值