【Redis】持久化机制

news2024/9/27 12:16:18

一、三种持久化机制

  • RDF快照:通过某一时刻的快照,将数据以二进制形式永久存储在磁盘中。
  • AOF:将每个修改命令通过write函数追加到文件中。
  • 混合持久化:AOF重写时,将重写这一刻之前的内存做RDB快照存储,并将此刻以后增量的AOF文件写入新的AOF文件中。

 二、RDB快照

(一)原理

  • Redis借助操作系统提供的写时复制技术(Copy-On-Write, COW)保存数据,此技术有两种方式:save(同步、阻塞)、bgsave(异步不阻塞)。
  • 原理:主线程fork出一条子线程,此子线程可以共享主线程内的所有数据。bgsave命令执行后,子线程读取主线程中的数据并写入到RDB文件中。此时,如果主线程正在执行“读”操作,则子线程继续写入;如果主线程正在执行“写”操作,子线程会复制一份正在执行“写”操作的数据,将数据写入RDB文件中。

(二)bgsave写时复制原理

 三、AOF

        AOF方式持久化会将每一条修改指令追加到appendonly.aof文件中,每隔一段时间fsync到磁盘。

aof功能的三种策略配置(默认策略时:appendfsync everysec

  • appendfsync always: 每次有新命令都追加到AOF文件中,并在此时执行一次fsync,非常慢也非常安全。
  • appendfsync everysec: 每秒fsync一次,足够快,并且发生故障时至多丢失1秒的数据。
  • appendfsync no: 从不fsync,将数据交给操作系统来处理。更快也更不安全的选择。

四、RDB和AOF的对比

命 令

RDB

AOF

启动优先级

体 积

恢复速度

数据安全性

容易丢失数据

根据策略决定

注:两者可以都启用。Redis启动时如果既有rdb文件又有aof文件则优先选择aof文件恢复数据,因为aof一般来说数据更安全一点。

五、Redis的数据备份策略

  1. 写crontab定时任务调度脚本,每小时都copy一份aof的备份数据到一个目录中,保留最近48小时的备份;
  2. 每天都保留一份当日的数据备份到同一个目录中取,可以保留最近一个月的备份;
  3. 每次copy备份的时候,都把太久的备份给删了;
  4. 每天晚上将当前及其的备份复制一份到其他机器,以防止及其损坏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/657090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端vue上拉加载下拉刷新组件,支持列表分页 本地分页

前端vue上拉加载下拉刷新组件,支持列表分页 本地分页, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id12942 喜欢我的前端组件分享文章的,帮忙加个关注,非常感谢🙏🙏 效果图如下: #### 使用方法…

StarRocks 文章收集

StarRocks在58的实践 StarRocks在58的实践 - 墨天轮StarRocks在58的实践 --2022-06-08https://www.modb.pro/db/639611 StarRocks之系统架构 StarRocks之系统架构 - 墨天轮https://www.modb.pro/db/610300 StarRocks小规模集群部署最佳实践(1/2) 0016.S StarRocks小规模集…

JDBC 2023年最新学习笔记!

课程笔记说明 我的笔记是来源于尚硅谷的赵伟风老师的2023年最新版jdbc的课程 视频链接: 尚硅谷JDBC实战教程(2023最新版jdbc,JDK17MySQL8)_哔哩哔哩_bilibili 课程资料: 关注“尚硅谷教育”,后台回复J…

中年“难”人

对于每个打工人而言,人生无外乎两种状态,要么已是中年人,要么走在成为中年人的路上,可是当下横空出世的中产作死三件套,让每个打工人都不寒而栗 - 房贷近千万; 配偶不上班; 两娃上国际。 这个…

走在时代前沿:宝洁的柔性供应链战略及其对全球快消品市场的影响

01 先进的供应链计划不断推动宝洁引领全球快速消费品市场 宝洁公司(Procter & Gamble)成立于1837年,是全球知名的消费品公司,公司拥有多个知名品牌,如宝洁、海飞丝、汰渍、奥妙、潘婷、威露士等,这些产…

程序员必须掌握的消息中间件-RabbitMQ

一、Rabbit 概述 RabbitMQ 是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用中间共享数据,RabbitMQ 是使用 Erlang 语言来编写的,并且 RabbitMQ 是基于 AMQP 协议的。 特点: 开源、性能优秀 Erlang 语言最初用…

【ChatGPT+XMind超级详细的保姆级思维导图教程】

🚀 AI 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN…

Spring Boot 异常报告器解析

基于Spring Boot 3.1.0 系列文章 Spring Boot 源码阅读初始化环境搭建Spring Boot 框架整体启动流程详解Spring Boot 系统初始化器详解Spring Boot 监听器详解Spring Boot banner详解Spring Boot 属性配置解析Spring Boot 属性加载原理解析Spring Boot 异常报告器解析 创建自定…

怎么查投票人画展投票链接怎么做微信链接投票

近些年来,第三方的微信投票制作平台如雨后春笋般络绎不绝。随着手机的互联网的发展及微信开放平台各项基于手机能力的开放,更多人选择微信投票小程序平台,因为它有非常大的优势。 1.它比起微信公众号自带的投票系统、传统的H5投票系统有可以图…

C语言入门万字笔记

C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修…

机器学习、计算机视觉和深度学习

机器学习、计算机视觉和深度学习 1 什么是机器学习?2 机器学习的类型3 什么是计算机视觉?4 计算机视觉的机器学习应用5 总结参考 这篇博客将简要介绍:机器学习和用于计算机视觉的机器学习。 想象一下:你可以使用人脸检测算法在图…

【后端】SSM框架下REST风格代码注释详解

前言 最近学习了一下SSM,不得不说,spring不用注解真的是天打雷劈,就那个bean真的就是折磨人。 下面是我总结的spring注解。 Value 此注解可以用来获取导入的jdbc.properties文件的值。 Value("${jdbc.driver}")private String…

【C++】C++11新特性重点:可变参数+lambda

C11新特性第二篇重点 文章目录 上一篇的补充一、可变参数模板二、lambda函数总结 前言 上一篇我们重点讲解了右值引用移动语义,关于移动构造和移动赋值还有一些需要补充的知识: 如果你没有自己实现移动构造函数,且没有实现析构函数 、拷贝构…

dubbo 3.2.0 的filterChain 简要分析

dubbo 3.2.0 的filterChain 的核心类是DefaultFilterChainBuilder 。 Builder public class DefaultFilterChainBuilder implements FilterChainBuilder {的buildInvokerChain函数 对于consumer refer Overridepublic <T> Invoker<T> buildInvokerChain(final I…

Java自动化测试(web自动化测试框架 )

测试数据 测试地址 http://120.78.128.25:8765/ 投资人 13323234545 lemon123456 借款人 13323234444 lemonbest 后台地址 http://120.78.128.25:8765/Admin/Index/login.html lemon7 lemonbest Page Object PO简介 https://www.selenium.dev/documentation/en/g…

如何把在线K歌“玩起来”——专访撕歌音视频架构师程乐

编者按&#xff1a;在线K歌的业务已经发展了十年&#xff0c;程乐在音视频领域也闯荡了十年&#xff0c;甚至更久。为什么选择在线K歌领域&#xff1f;如何走过“漫长的季节”&#xff0c;迎来新的风景&#xff1f;如何在“在线K歌”这块难啃的骨头里分点肉&#xff1f;在这一连…

【存储】cache memory、primary memory and secondary memory

一、提要二、计算机的存储结构三、高速缓存&#xff1a;cache memory四、主存&#xff1a;Primary memory4.1 RAM4.11 SRAM 和 DRAM的概念4.12 SRAM 和 DRAM的应用场景 4.2 ROM4.21 PROM4.22 EPROM▶ EEPROM▶ UVEPROM 五、辅助存储器&#xff1a;secondary memory六、单片机的…

redis的4种模式,单机,哨兵、主从复制、集群

为了redis叫做redis服务器&#xff1f; 因为在运行时&#xff0c;在进行工作时是一个被注册一个进程(服务)&#xff0c;我们把他叫做一个redis服务器。(就是个应用程序而已。) 1.单机模式 我们安装redi,启动服务之后&#xff0c;默认就这个&#xff0c;只有一个redis服务器(…

编译原理笔记(哈工大编译原理)(持续更新)

文章目录 前言概论语言与文法基本概念字母表串字母表与串的联系 文法语言推导和规约句型与句子语言与字母表 文法的分类CFG的分析树 前言 说实话&#xff0c;我不是很想上这门课&#xff0c;确实没什么大用&#xff0c;虽然我觉得这门课学一学也挺好&#xff0c;但是我觉得弄8…

架构师必备项目管理方法-关键路径法

在《架构思维的六要素》中提到成本、规划、需求、维护、人员和质量是要考量的留个维度。咱们在日常工作中多少都会接触一些相关的管理方法&#xff0c;但是似乎是不知道也不影响干活&#xff0c;所以很多人也没有去深究。但实际上很可能知道了做事就更能抓住重点。 关键路径法是…