Redis的两种持久化方案
Redis 提供了多种持久化机制来保证数据在发生意外情况下(如断电或服务器崩溃)不丢失。以下是几种主要的 Redis 持久化方案及其特点:
1. RDB (Redis Database Backup)
RDB 是 Redis 创建的数据库快照,它可以将数据集快照以二进制文件的形式存储在磁盘上。RDB 文件可以在指定时间间隔创建,也可以通过命令手动触发。
特点:
- 性能:生成 RDB 文件的过程不会影响 Redis 的性能,因为 Redis fork 出一个子进程来完成快照的创建,主进程依然处理客户端请求。
- 数据恢复:RDB 文件非常适合大型数据集的备份和数据恢复。加载 RDB 文件时速度非常快。
- 配置灵活:通过配置
save选项,可以在一定的写命令数量或时间间隔后自动生成 RDB 文件。
配置:
# 在 `redis.conf` 文件中配置 RDB 选项
save 900 1 # 900秒内至少有1个键被修改,则触发RDB持久化
save 300 10 # 300秒内至少有10个键被修改,则触发RDB持久化
save 60 10000 # 60秒内至少有10000个键被修改,则触发RDB持久化dbfilename dump.rdb # 指定RDB文件名
dir /var/lib/redis # 指定RDB文件存放路径
手动触发:
# 生成 RDB 文件
SAVE # 同步方式阻塞Redis
BGSAVE # 异步方式,不阻塞Redis
2. AOF (Append-Only File)
AOF 方式通过将每个写操作都记录在一个日志文件中来实现持久化。通过回放这个 AOF 日志文件,可以重建数据集。
特点:
- 实时性:AOF 以追加方式写入文件,数据恢复的即时性非常高。
- 数据安全:可以通过配置
fsync策略保证数据的持久化频率,如fsync每秒一次、每次写操作都fsync、或不执行fsync(交由操作系统管理)。 - 文件管理:AOF 文件随着写操作的增加而不断增大,但 Redis 提供了 AOF 重写机制来压缩文件大小。
配置:
# 在 `redis.conf` 文件中配置 AOF 选项
appendonly yes # 开启AOF持久化
appendfilename "appendonly.aof" # AOF文件名# fsync选项
# always: 每次写入操作都fsync,最安全但最慢
# everysec: 每秒fsync一次,折中方案
# no: 不执行fsync,由操作系统决定什么时候将数据写入磁盘
appendfsync everysec# AOF 重写配置
auto-aof-rewrite-percentage 100 # AOF文件大小增长了上一次重写时大小的百分比
auto-aof-rewrite-min-size 64mb # AOF文件最小大小
手动触发:
# 手动触发 AOF 重写
BGREWRITEAOF
3. 混合持久化
从 Redis 4.0 开始,支持 RDB 和 AOF 两者结合的混合持久化方式。这种方式在AOF重写时,将新的AOF文件开头保存为一个RDB格式的二进制快照,后面再追加增量的AOF日志指令。这种持久化方案结合了RDB文件的重启加载速度快与AOF日志文件的实时性。
配置:
aof-use-rdb-preamble yes # 开启AOF文件混合模式
4. No Persistence
如果你对性能有极高的要求,并且不在意数据持久化(例如数据可以通过外部数据库重建),可以完全关闭持久化。
配置:
# 关闭 RDB 和 AOF 持久化
save ""
appendonly no
选择适合的持久化方案
选择合适的 Redis 持久化方案需要考虑以下因素:
- 数据重要性:数据丢失的容忍度是多少?
- 写操作负载:写操作频繁程度如何?是否需要即时持久化?
- 性能要求:对读写性能的要求是什么?
- 存储空间:是否需要节省存储空间?
- 恢复速度:希望在恢复数据时多快能重新上线?
通常,组合使用 RDB 和 AOF 是一种较为推荐的方案,可以兼顾数据持久性和性能。具体配置可以根据业务需求进行调整。例如可以使用 everysec 的 AOF 同步策略,以及定期的 RDB 快照来确保数据的完整性和恢复速度。
每种持久化方案有其优缺点,你们可以根据自身的业务需求和资源来制定最合适的持久化策略以确保数据安全和高效运行。
相关文章:
Redis的两种持久化方案
Redis 提供了多种持久化机制来保证数据在发生意外情况下(如断电或服务器崩溃)不丢失。以下是几种主要的 Redis 持久化方案及其特点: 1. RDB (Redis Database Backup) RDB 是 Redis 创建的数据库快照,它可以将数据集快照以二进制…...
Spring中常见知识点及使用
Spring Framework 是 Java 生态系统中最流行的开源框架之一,它提供了一系列强大的功能,用于构建企业级应用。以下是一些常见的 Spring 知识点及其使用方法: 1. 依赖注入(Dependency Injection) 依赖注入是 Spring 的…...
Excel 宏录制与VBA编程 ——VBA编程技巧篇二 (合并内容相同连续单元格、取消合并单元格并在每个单元格中保留内容)
1、合并内容相同的连续单元格 如果需要合并如图所示的工作表中B列中部门相同的连续单元格 VBA代码: Sub Mergerng()Dim IntRow As IntegerDim i As IntegerApplication.DisplayAlerts FalseWith Sheet1IntRow .Range("A65536").End(xlUp).RowFor i In…...
理解和应用工业设备字典文件:一篇详细指南
理解和应用工业设备字典文件:一篇详细指南 在工业自动化领域,设备和模块的配置和管理是一个复杂而重要的任务。为了简化这个过程,字典文件被广泛应用于描述离线对象字典。本文将详细解释字典文件的用途、格式,并举例说明如何引用…...
Python酷库之旅-第三方库Pandas(010)
目录 一、用法精讲 22、pandas.read_hdf函数 22-1、语法 22-2、参数 22-3、功能 22-4、返回值 22-5、说明 22-6、用法 22-6-1、数据准备 22-6-2、代码示例 22-6-3、结果输出 23、pandas.HDFStore.put方法 23-1、语法 23-2、参数 23-3、功能 23-4、返回值 23-5…...
海康威视监控web实时预览解决方案
海康威视摄像头都试rtsp流,web页面无法加载播放,所以就得转换成web页面可以播放的hls、rtmp等数据流来播放。 一:萤石云 使用萤石云平台,把rtsp转化成ezopen协议,然后使用组件UIKit 最佳实践 萤石开放平台API文档 …...
ubuntu运行qq音乐闪退
ubuntu运行qq音乐闪退 修改/usr/share/applications中的qqmusic.desktop,在Exec后加上 --no-sandbox,如下图所示: 该文件有可能是只读,权限不够的话用sudo vim qqmusic.desktop...
人脸检测(Python)
目录 环境: 初始化摄像头: 初始化FaceDetector对象: 获取摄像头帧: 获取数据: 绘制数据: 显示图像: 完整代码: 环境: cvzone库:cvzone是一个基于…...
Offer150-23:链表中环的入口节点
题目描述:如果一个链表中包含环,找了环的入口节点。例如,在下图所示的链表中,环的入口节点是节点4。 分析:第一步需要确定一个链表中是否包含环,可以用快慢指针来解决这个问题。定义两个指针,同时从链表的头…...
【linux】服务器创建RAID1
【linux】服务器创建RAID1 文章目录 【linux】服务器创建RAID1一、配置介绍raid介绍raid类型RAID 0:RAID 1:RAID 5:RAID 6:二、配置RAID硬件RAID:软件RAID:三、软件配置RAID1(以linux为例)1.先进入管理员模式2.安装mdadm工具3.创建raid1数组4.查看RAID数组状态5.格式化和挂载…...
记录自己Ubuntu加Nvidia驱动从入门到入土的一天
前言 记录一下自己这波澜壮阔的一天,遇到了很多问题,解决了很多问题,但是还有很多问题,终于在晚上的零点彻底放弃,重启windows。 安装乌班图 1.安装虚拟机 我开始什么操作系统的基础都没有,网上随便搜了…...
基于现有Docker镜像构建新的Docker镜像
1.拉取ubuntu 22.04的系统镜像 docker pull ubuntu:22.04 拉取成功后在DockerDesktop中可发现该镜像 2.启动刚才接取的ubuntu镜像 docker run --name Ubuntu22.04 -it -d -p 22:22 -p 80:80 -p 443:443 340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221 启…...
Java 静态变量、静态代码块、普通代码块、构造方法的执行顺序
今天碰到这个问题,看了课程以及资料,做出解答。这是我自己绘制的图,按从上到下,从左到右的顺序执行。如有问题请联系我修正。 要点: 1、执行顺序分为两步,类加载和初始化阶段。 2、因为静态变量和静态代码块…...
计算机网络性能指标概述:速率、带宽、时延等
在计算机网络中,性能指标是衡量网络效率和质量的重要参数。本文将综合三篇关于计算机网络性能指标的文章,详细介绍速率、带宽、吞吐量、时延、时延带宽积、往返时延(RTT) 和利用率的概念及其在网络中的应用。 1. 速率(…...
众所周知沃尔玛1P是怎么运营?
沃尔玛的1P模式,即第一方供应商模式,是其独特的采购策略。在这种模式下,供应商先将商品卖给沃尔玛,由沃尔玛负责库存管理和销售。沃尔玛通过强大的采购和物流能力控制库存,确保商品品质,为客户提供更加…...
【Linux】静态库的制作和使用详解
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
2.贪心算法.基础
2.贪心算法.基础 基础知识题目1.分发饼干2.摆动序列2.1.思路二:动态规划法 3.最大子序和4.买股票的最佳时机24.1.思路二:动态规划法4.2.买股票的最佳时机 5.跳跃游戏5.1.跳跃游戏2 6.K次取反后最大化的数组和7.加油站8.分发糖果 总结 基础知识 什么是贪…...
用Python轻松转换PDF为CSV
数据的可访问性和可操作性是数据管理的核心要素。PDF格式因其跨平台兼容性和版面固定性,在文档分享和打印方面表现出色,尤其适用于报表、调查结果等数据的存储。然而,PDF的非结构化特性限制了其在数据分析领域的应用。相比之下,CS…...
关于微信支付-商户平台:查询订单提示“查询失败:操作失败,请稍候重试”的分析
目录 引子 分析 应对 小结 引子 在开发和实施微信 JSAPI 支付的应用后,我们遇到了一些问题,订单的状态更新不正常,当然我们首先需要从自身寻找原因和完善解决问题的办法和方案。在支付的过程中,客户会给我们一些反馈…...
掌握【Python异常处理】:打造健壮代码的现代编程指南
目录 编辑 1. 什么是异常? 知识点 示例 小李的理解 2. 常见的内置异常类型 知识点 示例 小李的理解 3. 异常机制的意义 知识点 示例 小李的理解 4. 如何处理异常 知识点 示例 小李的理解 5. 抛出异常 知识点 示例 小李的理解 6. Python内置…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
