【吊打面试官系列-Redis面试题】Redis 的持久化机制是什么?各自的优缺点?

news2024/11/15 10:37:47

大家好,我是锋哥。今天分享关于 【Redis 的持久化机制是什么?各自的优缺点?】面试题,希望对大家有帮助;

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

1000道 互联网大厂Java工程师 精选面试题-Java资源分享网

Redis 提供两种持久化机制 RDB 和 AOF 机制:
1、RDBRedis DataBase)持久化方式: 是指用数据集快照的方式半持久化模式) 记录 redis 数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。
优点:
1、只有一个文件 dump.rdb,方便持久化。
2、容灾性好,一个文件可以保存到安全的磁盘。
3、性能最大化,fork 子进程来完成写操作,让主进程继续处理命令,所以是 IO 最大化。使用单独子进程来进行持久化,主进程不会进行任何 IO 操作,保证了 redis 的高性能) 4.相对于数据集大时,比 AOF 的启动效率更高。
缺点:
1、数据安全性低。RDB 是间隔一段时间进行持久化,如果持久化之间 redis 发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候)
2、AOFAppend-only file)持久化方式: 是指所有的命令行记录以 redis 命令请求协议的格式完全持久化存储)保存为 aof 文件。
优点:
1、数据安全,aof 持久化可以配置 appendfsync 属性,有 always,每进行一次命令操作就记录到 aof 文件中一次。
2、通过 append 模式写文件,即使中途服务器宕机,可以通过 redis-check-aof 工具解决数据一致性问题。
3、AOF 机制的 rewrite 模式。AOF 文件没被 rewrite 之前(文件过大时会对命令进行合并重写),可以删除其中的某些命令(比如误操作的 flushall))
缺点:
1、AOF 文件比 RDB 文件大,且恢复速度慢。
2、数据集大的时候,比 rdb 启动效率低。

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

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

相关文章

网站开发:XTML+CSS - 网页文档结构

1. 前言 HTML(HyperText Markup Language,超文本标记语言)是构建网页和 web 应用程序的标准标记语言。它定义了网页的结构和内容,允许开发者创建有组织、语义化的文档。 HTML 使用一系列的元素(elements)和…

[ABC368G] Add and Multiply Queries

G - Add and Multiply Queries 2个单点,一个询问,感觉询问只能O(n)做 但是发现查询答案保证在1e18以下 2^60 也就是说b[i]>1最多60个 也就是说需要判断的地方最多60个,其他地方可以用区间和优化 用set or vector 记录b[i]>1的位置&a…

如何在 Python 中将字符串转换为日期时间或时间对象

文章目录 一、介绍二、datetime使用将字符串转换为对象datetime.strptime()三、将字符串转换为datetime.datetime()对象示例四、将字符串转换为datetime.date()对象示例五、将字符串转换为datetime.time()对象示例六、datetime.datetime()使用区域设置示例将字符串转换为对象七…

最小二乘模型和线性最小均方模型的区分

禹晶、肖创柏、廖庆敏《数字图像处理(电子信息前沿技术丛书)》P229、P230 这部分是最小二乘模型,而维纳滤波是建立在随机过程总体的基础上线性最小均方模型,所以这样的推导过程从概念上错误,删除。 后悔没听廖老师的。…

更改银河麒麟服务器的语言环境为中文

更改银河麒麟服务器的语言环境为中文 1、查看语言环境2、更改语言环境 💖The Begin💖点点关注,收藏不迷路💖 1、查看语言环境 打开终端,运行: locale -a查看是否包含zh_CN.UTF-8。 2、更改语言环境 编辑文…

无人机反制:低空安全综合管理平台技术详解

无人机反制技术中的低空安全综合管理平台,作为守护低空安全的重要工具,集成了多种先进的技术手段和管理功能,实现了对无人机等低空飞行器的全方位、无死角监控与反制。以下是对该技术平台的详细解析: 一、技术架构与核心功能 低…

Vue笔记总结(Xmind格式):第五天

Xmind鸟瞰图: 简单文字总结: 1. 生命周期 Vue 框架内置函数,随着组件的生命周期阶段,自动执行 作用: 特定的时间点,执行特定的操作 场景: 组件创建完毕后,可以在created 生命周期函数中发起Ajax 请求&am…

2024/8/31 笔记

IOC&DI 之前写了一点👇 7/8 复盘-CSDN博客 事务管理 为什么需要事务管理 👆一般加在业务层增删改的方法上,查询或者简单的增删改基本用不上 事务的回滚 rollbackForException.class //设置所有异常都会回滚👇 事务…

华为云征文|下一代云服务器,Flexus X实例选购指导

华为云 Flexus 服务器所提供的 Flexus X 实例,是基于擎天 QingTian 架构、瑶光云脑、盘古大模型等根技术的创新,基于业务负载可灵活匹配业务产品所需要的资源规格,同时是业界内首款基于应用驱动的柔性算力云服务器。 Flexus X 实例具有大模型…

Java18 设计模式

第十八节:设计模式 1.设计模式概述 1.1软件设计模式的产生背景 ​ "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大(…

谁便宜就选谁---基于成本的优化

什么是成本 我们之前老说MySQL执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询。不过我们之前对成本的描述是非常模糊的,其实在MySQL中一条查询语句的执行成本是由下面这两个方面组成的&a…

十四、坦克大战(上)

文章目录 一、坦克大战游戏演示(略)二、java绘图坐标体系三、java绘图技术3.1 快速入门3.2 绘图原理Graphics类 四、java事件处理机制五、绘制坦克5.1 坦克抽象类、己方坦克、敌方坦克5.2 自定义面板5.3 绘图界面 一、坦克大战游戏演示(略) 二、java绘图坐标体系 三、java绘图…

LVGL 控件之日历(lv_calendar)

目录 一、日历1、组成2、创建日历3、日期的设置/显示3.1 设置当前日期3.2 显示日期3.3 日历头 4、设置日期高亮5、设置日名6、事件7、API 函数 一、日历 1、组成 日历部件由两个部分组成: 主体背景 LV_PART_MAIN;各个按钮 LV_PART_ITEMS(指…

kubeadm部署 Kubernetes(k8s) 高可用集群【V1.20 】

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。 calico.yaml kubernertes-dashboard.yaml 1. 安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 7台机器,操作系统Openeuler22.03 LTS SP4硬件配置&#…

【GPT】Coze使用开放平台接口-【1】创建插件

本文档主要描述在 coze 里面把开放平台的接口创建为插件,供别人调用。本系列调用的接口,都是调用快商通 AI 开放平台的接口 注意:如果是团队需要的,建议直接在团队空间里面创建这些,不然在个人空间创建得很爽&#xff…

Linux——命令行文件的管理(创建,复制,删除,移动文件,硬链接与软链接)

目录 一、创建文件和目录 二、复制文件和目录 三、删除文件和目录 四、移动文件和目录 五、硬链接和软链接(软链接也指符号链接) 索引节点(inode) 硬链接 软链接(符号链接) 一、创建文件和目录 mkdir命令可以创…

PCIe 复位:必须了解的PERST#

1.什么是PERST# PERST#作为 Fundamental Reset,是直接通过边带信号PERST#(PCI Express Reset)产生的。Fundamental Reset会复位整个PCIe设备,初始化所有与状态机相关的硬件逻辑,端口状态以及配置空间中的配置寄存器…

使用谷歌翻译的推荐理由及其他翻译工具推荐~

在现在快节奏的工作中,翻译工具已成为我们日常当中不可或缺的助手。其中,谷歌翻译以其高效、准确的特点,在众多翻译软件中脱颖而出。以下,我为您详细介绍为何推荐在工作中使用谷歌翻译,并同时提供其他三款优秀的翻译工…

linux内核驱动:pca953xIO扩展芯片驱动总结

目录 前言一、PCA9536芯片介绍二、驱动说明三、配置流程四、应用操作方式 前言 本笔记总结使用ti 的PCA953x进行SOC的GPIO扩展时步骤,基于linux内核版本5.10.xxx; 一、PCA9536芯片介绍 【1】PCA9536是基于i2c接口的GPIO扩展芯片,最大支持到…

【Java学习】多线程JUC万字超详解

所属专栏:Java学习 1. 多线程的概念 线程:线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程的实际运作单位 下面这些每一个能够运行的软件就是一个进程 并发:在同一时刻,有多个…