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

Redis 持久化 问题

前言


 相关系列

  • 《Redis & 目录》(持续更新)
  • 《Redis & 持久化 & 源码》(学习过程/多有漏误/仅作参考/不再更新)
  • 《Redis & 持久化 & 总结》(学习总结/最新最准/持续更新)
  • 《Redis & 持久化 & 问题》(学习解答/持续更新)
     

 参考文献

  • 《Redis的持久化详解》
     
     

Redis有哪些持久化机制?各自的优缺点是什么?


 RDB @ Redis DataBase @ Redis数据库

    RDB机制的本质是将Redis某时刻的数据保存为快照文件,从而得以在Redis重启时将数据恢复至快照文件所记录的时刻…该机制的优/缺点具体如下:

  • 文件体量小:RDB快照文件体量相对较小,对磁盘的占用率不高;
  • 数据恢复快:RDB快照文件以二进制格式保存数据,因此其数据恢复速度很快;
  • 性能影响小:RDB快照文件由子进程异步生成,因此不会阻塞主进程的内存读/写。
     
  • 数据完整性低:RDB快照文件无法记录生成期间并发产生的数据变动,因此宕机时该部分数据的会丢失;
  • 文件可读性差:RDB快照文件以二进制格式保存数据,因此难以手动地去修改/修复数据。
     
     

 AOF @ Append Only File @ 只追加文件

    AOF机制的本质是在日志文件中记录Redis执行的每条写指令,从而得以在Redis重启时通过重演指令以实现数据恢复…该机制的优/缺点具体如下:

  • 数据完整性高:AOF日志文件会实时记录Redis执行每条写指令,因此其数据完整性是接近完全的。而如果再将写回机制设置为always,那么“理论上”其甚至可以不丢失数据;
  • 文件可读性高:AOF日志文件的会明文直接保存指令,因此可以对修复/修改的手动行为支持度很高;
  • 性能影响小:指令由操作系统异步写入AOF日志文件,因此不会阻塞主进程的内存读/写。但重写时会短暂阻塞,这是因为主进程会负责新/旧AOF日志文件的替换来保证安全。
     
  • 文件体量大:AOF日志文件的体量会持续正大,对磁盘的占用率较高;
  • 数据恢复慢:庞大的AOF日志文件代表着同样庞大的指令数量,因此重演这些指令需要耗费相当长的时间;
  • 文件易损坏:AOF日志文件会持续写入,因此其遭遇磁盘损坏/系统宕机等原因而同步损坏的概率也较高,故而AOF机制往往要搭配RDB机制一同使用。
     
     

在RDB/AOF都开启的情况下Redis会如何恢复数据?


    在RDB/AOF都开启的情况下,Redis启动时会优先使用AOF日志文件恢复数据,因为其数据完整性理论上会高于RDB快照文件。
 
 

如何为Redis选择最合适的持久化机制?


    对于单纯将Redis作为缓存使用的程序而言通常不需要开启持久化机制;而对于数据完整性要求不高,即可以接受分钟级别数据丢失的程序而言一般只需开启RDB机制即可;而对于数据完整性较高的程序而言通常会同时开启RDB&AOF机制,这其中RDB机制是作为AOF机制失效是的备用手段存在的,因为AOF日志文件在持续写入的过程中有较大的概率出现损坏。此外如果对数据完整性的要求极高,那么还推荐将AOF机制的写回机制设置为always,这样Redis在宕机时丢失的数据可以达到最少,甚至有较大概率不丢失数据。

相关文章:

Redis 持久化 问题

前言 相关系列 《Redis & 目录》(持续更新)《Redis & 持久化 & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Redis & 持久化 & 总结》(学习总结/最新最准/持续更新)《Redis & …...

vivado 配置

配置 配置指的是将特定应用数据加载到 FPGA 器件的内部存储器的进程。 赛灵思 FPGA 配置数据储存在 CMOS 配置锁存 (CCL) 中,因此配置数据很不稳定,且在每次 FPGA 器件上电后都必须重 新加载。 赛灵思 FPGA 器件可通过配置引脚,自行…...

Java如何实现PDF转高质量图片

大家好,我是 V 哥。在Java中,将PDF文件转换为高质量的图片可以使用不同的库,其中最常用的库之一是 Apache PDFBox。通过该库,你可以读取PDF文件,并将每一页转换为图像文件。为了提高图像的质量,你可以指定分…...

itemStyle.normal.label is deprecated, use label instead.

itemStyle.normal.label is deprecated, use label instead. normal’hierarchy in label has been removed since 4.0. All style properties are configured in label directly now. 错误写法: itemStyle: {normal: {// color: #00E0FF, // 设置折线点颜色 labe…...

如何在 Linux VPS 上保护 MySQL 和 MariaDB 数据库

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 有许多在 Linux 和类 Unix 系统上可用的 SQL 数据库语言实现。MySQL 和 MariaDB 是在服务器环境中部署关系型数据库的两个流行选项…...

CSS 样式 box-sizing: border-box; 用于控制元素的盒模型如何计算宽度和高度

文章目录 box-sizing: border-box; 的含义默认盒模型 (content-box)border-box 盒模型 在微信小程序中的应用示例 在微信小程序中,CSS 样式 box-sizing: border-box; 用于控制元素的盒模型如何计算宽度和高度。具体来说, box-sizing: border-box; 会改…...

预训练 BERT 使用 Hugging Face 和 PyTorch 在 AMD GPU 上

Pre-training BERT using Hugging Face & PyTorch on an AMD GPU — ROCm Blogs 2024年1月26日,作者:Vara Lakshmi Bayanagari. 这篇博客解释了如何从头开始使用 Hugging Face 库和 PyTorch 后端在 AMD GPU 上为英文语料(WikiText-103-raw-v1)预训练…...

鸿蒙是必经之路

少了大嘴的发布会,老实讲有点让人昏昏入睡。关于技术本身的东西,放在后面。 我想想来加把油~ 鸿蒙发布后褒贬不一,其中很多人不太看好鸿蒙,一方面是开源性、一方面是南向北向的利益问题。 不说技术的领先点,我只扯扯…...

Java项目实战II基于微信小程序的马拉松报名系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 马拉松运动…...

家用wifi的ip地址固定吗?换wifi就是换ip地址吗

在探讨家用WiFi的IP地址是否固定,以及换WiFi是否就意味着换IP地址这两个问题时,我们首先需要明确几个关键概念:IP地址、家用WiFi网络、以及它们之间的相互作用。 一、家用WiFi的IP地址固定性 家用WiFi环境中的IP地址通常涉及两类&#xff1a…...

codeforces _ 补题

C. Ball in Berland 传送门:Problem - C - Codeforces 题意: 思路:容斥原理 考虑 第 i 对情侣组合 ,男生为 a ,女生为 b ,那么考虑与之匹配的情侣 必须没有 a | b ,一共有 k 对情侣&#x…...

DataSophon集成ApacheImpala的过程

注意: 本次安装操作系统环境为Anolis8.9(Centos7和Centos8应该也一样) DataSophon版本为DDP-1.2.1 整合的安装包我放网盘了: 通过网盘分享的文件:impala-4.4.1.tar.gz等2个文件 链接: https://pan.baidu.com/s/18KfkO_BEFa5gVcc16I-Yew?pwdza4k 提取码: za4k 1…...

深入探讨TCP/IP协议基础

在当今数字化的时代,计算机网络已经成为人们生活和工作中不可或缺的一部分。而 TCP/IP 协议作为计算机网络的核心协议,更是支撑着全球互联网的运行。本文将深入探讨常见的 TCP/IP 协议基础,带你了解计算机网络的奥秘。 一、计算机网络概述 计…...

《Windows PE》7.4 资源表应用

本节我们将通过两个示例程序,演示对PE文件内图标资源的置换与提取。 本节必须掌握的知识点: 更改图标 提取图标资源 7.4.1 更改图标 让我们来做一个实验,替换PE文件中现有的图标。如果手工替换,一定是先找到资源表,…...

【重生之我要苦学C语言】猜数字游戏和关机程序的整合

今天来把学过的猜数字游戏和关机程序来整合一下 如果有不明白的可以看往期的博客 废话不多说&#xff0c;上代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <time.h> #include <stdlib.h> #include <string.h> void…...

基于centos7脚本一键部署gpmall商城

基于centos7脚本一键部署单节点gpmall商城&#xff0c;该商城可单节点&#xff0c;可集群&#xff0c;可高可用集群部署&#xff0c;VMware17&#xff0c;虚拟机IP&#xff1a;192.168.200.100 将软件包解压到/root目录 [rootlocalhost ~]# ls dist …...

Mac book英特尔系列?M系列?两者有什么区别呢

众所周知&#xff0c;Mac book有M系列&#xff0c;搭载的是苹果自研的M芯片&#xff0c;也有着英特尔系列&#xff0c;搭载的是英特尔的处理器&#xff0c;虽然从 2020 年开始&#xff0c;苹果公司逐步推出了自家研发的 M 系列芯片&#xff0c;并逐渐将 MacBook 产品线过渡到 M…...

Python unstructured库详解:partition_pdf函数完整参数深度解析

Python unstructured库详解&#xff1a;partition_pdf函数完整参数深度解析 1. 简介2. 基础文件处理参数2.1 文件输入参数2.2 页面处理参数 3. 文档解析策略3.1 strategy参数详解3.2 策略选择建议 4. 表格处理参数4.1 表格结构推断 5. 语言处理参数5.1 语言设置 6. 图像处理参数…...

<项目代码>YOLOv8路面病害识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…...

广告牌和标签学习

效果&#xff1a; 知识学习&#xff1a; entities添加标签label和广告牌billboard label&#xff1a; text&#xff1a;文本添加 font&#xff1a;字体大小和字体类型 fillColor&#xff1a;字体颜色 outlineColor&#xff1a;字体外轮廓颜色 outlineWidth&#xff1a;字体外轮…...

foobox-cn深度解析:foobar2000高级定制实战指南

foobox-cn深度解析&#xff1a;foobar2000高级定制实战指南 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn foobar2000作为专业音乐播放器&#xff0c;其默认界面往往难以满足高级用户的个性化需求。…...

Playwright-Skill:AI驱动的浏览器自动化解决方案全指南

Playwright-Skill&#xff1a;AI驱动的浏览器自动化解决方案全指南 【免费下载链接】playwright-skill Claude Code Skill for browser automation with Playwright. Model-invoked - Claude autonomously writes and executes custom automation for testing and validation. …...

嵌入式老司机教你玩转Hi3520DV400:NOR/NAND双启动配置与TFTP极速烧写技巧

Hi3520DV400深度开发实战&#xff1a;双启动架构设计与工业级烧录优化 在嵌入式系统开发中&#xff0c;启动介质的选择和镜像烧录效率直接影响产品开发周期和生产部署效率。海思Hi3520DV400作为一款广泛应用于视频处理领域的芯片&#xff0c;其灵活的启动配置和高效的烧录方法值…...

从BEVFormer到BEVFormer-v2:透视监督如何重塑BEV感知的骨干网络

1. BEVFormer的核心思想与局限性 BEVFormer作为首个将Transformer引入鸟瞰图&#xff08;BEV&#xff09;感知的开创性工作&#xff0c;其核心创新在于摆脱了对深度估计的强依赖。传统BEV方法需要先计算每个像素的深度&#xff0c;再将2D特征"抬升"到3D空间&#xff…...

DeepSeek-OCR-2零售行业应用:商品标签识别系统实现

DeepSeek-OCR-2零售行业应用&#xff1a;商品标签识别系统实现 1. 零售行业的标签识别痛点在哪里 超市货架上密密麻麻的商品&#xff0c;每一件都贴着标签——价格、条形码、生产日期、保质期、规格参数……这些信息看似简单&#xff0c;却构成了零售运营最基础也最繁琐的一环…...

LaWGPT性能优化终极指南:10个技巧让法律AI响应速度翻倍

LaWGPT性能优化终极指南&#xff1a;10个技巧让法律AI响应速度翻倍 【免费下载链接】LaWGPT LaWGPT - 一系列基于中文法律知识的开源大语言模型&#xff0c;专为法律领域设计&#xff0c;增强了法律内容的理解和执行能力。 项目地址: https://gitcode.com/gh_mirrors/la/LaWG…...

国风AI绘画从零开始:Guohua Diffusion部署与使用教程,生成专属水墨作品

国风AI绘画从零开始&#xff1a;Guohua Diffusion部署与使用教程&#xff0c;生成专属水墨作品 想亲手创作一幅意境悠远的水墨山水&#xff0c;或是描绘一幅灵动飘逸的工笔花鸟吗&#xff1f;过去&#xff0c;这需要多年的绘画功底。现在&#xff0c;借助AI的力量&#xff0c;…...

神经网络计算量那些事:FLOPs/MACs/MACCs到底怎么算?从公式到代码的完整对照

神经网络计算量全解析&#xff1a;从FLOPs到MACs的实战指南 在深度学习模型优化过程中&#xff0c;计算量评估是每个开发者必须掌握的核心技能。面对FLOPs、MACs、MACCs这些专业术语&#xff0c;新手往往一头雾水——它们究竟代表什么&#xff1f;如何准确计算&#xff1f;更重…...

SDMatte前端面试题实战:如何实现一个高性能的图片上传与预览组件

SDMatte前端面试题实战&#xff1a;如何实现一个高性能的图片上传与预览组件 1. 场景需求与技术挑战 在电商、设计平台等实际业务中&#xff0c;图片上传与处理是高频核心功能。以SDMatte智能抠图工具为例&#xff0c;用户需要上传产品图片进行背景去除&#xff0c;但面临几个…...

避坑指南:Unity环境搭建中最容易忽略的5个配置项(含Android/iOS模块选择建议)

Unity环境搭建避坑指南&#xff1a;5个高频遗漏配置与移动端优化策略 刚接触Unity的开发者往往会被其强大的跨平台能力吸引&#xff0c;却在环境搭建阶段就踩进各种"坑"。我曾见过团队因一个遗漏的配置项浪费三天排查时间&#xff0c;也遇到过新手因模块选择不当导致…...