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

赶紧收藏!2024 年最常见 20道 Redis面试题(三)

上一篇地址:赶紧收藏!2024 年最常见 20道 Redis面试题(二)-CSDN博客

五、Redis的持久化机制是什么?

Redis 是一个高性能的键值存储系统,支持多种类型的数据结构,如字符串、哈希、列表、集合、有序集合等。为了确保数据的安全性,Redis 提供了两种持久化机制,分别是 RDB(Redis Database)和 AOF(Append Only File)。

RDB 持久化

RDB 是一种快照式的持久化方式,它会在指定的时间间隔内将内存中的数据集生成快照并保存到磁盘上。RDB 持久化可以手动执行,也可以设置自动执行。自动执行的配置主要有:

  • save <seconds> <changes>:在指定的秒数内,如果数据变化了指定的次数,则执行快照保存。
  • bgsave:在后台异步执行快照保存,不会阻塞主线程。

RDB 持久化的优点是恢复速度快,适合大规模的数据恢复。但是,RDB 持久化的缺点是如果 Redis 服务突然崩溃,那么最后一次快照之后的数据变更将会丢失。

AOF 持久化

AOF 持久化是通过记录每次写操作命令来实现的。Redis 会将所有写操作追加到 AOF 文件的末尾。AOF 持久化可以配置为:

  • appendonly yes:开启 AOF 持久化。
  • appendfsync:配置 AOF 文件的同步策略,可以是 always(每次写操作都同步)、everysec(每秒同步一次)或者 no(操作系统控制同步)。

AOF 持久化的优点是数据安全性高,可以提供更完整的数据恢复。缺点是 AOF 文件可能会比 RDB 文件大,恢复速度也可能会慢一些。

混合持久化

Redis 4.0 之后引入了混合持久化(RDB + AOF)的方式,这种方式结合了 RDB 和 AOF 的优点。在混合持久化中,Redis 首先会创建一个 RDB 文件,然后继续使用 AOF 记录 RDB 创建后的所有写操作。这样,在恢复时,Redis 可以首先加载 RDB 文件来快速恢复数据,然后通过 AOF 文件来恢复 RDB 创建后的数据变更。

配置持久化

持久化机制的配置通常在 Redis 的配置文件 redis.conf 中设置。用户可以根据自己的需求来配置 RDB、AOF 或混合持久化。

总结

Redis 的持久化机制是确保数据安全性的重要功能,通过 RDB、AOF 或混合持久化,用户可以根据实际的应用场景来选择合适的持久化策略。

六、Redis的同步机制是什么?

Redis 的同步机制主要涉及到主从复制(Master-Slave Replication)和集群(Cluster)中的分片数据同步。以下是这两种情况下的同步机制的详细说明:

主从复制(Master-Slave Replication)

主从复制是 Redis 提供的一种高可用性解决方案,它允许多个从节点(Slave)复制主节点(Master)的数据。主从复制的同步机制包括:

  1. 初次同步:当从节点第一次连接到主节点时,它会发起一个全量同步请求。主节点会创建一个数据集的快照(RDB 文件),然后发送给从节点。从节点接收并加载这个快照,接着主节点会将快照创建后的所有写操作命令发送给从节点,从节点执行这些命令来保证数据的一致性。

  2. 增量同步:在初次同步之后,主节点会持续地将新的写操作命令发送给从节点。这个过程称为增量同步。Redis 使用一个称为“复制偏移量”(replication offset)的机制来跟踪主从节点之间的数据同步状态。

  3. 心跳机制:主从节点之间会定期发送心跳信息,以确保彼此之间的连接是活跃的。心跳信息也用于传输复制偏移量,帮助主节点了解从节点的同步状态。

  4. 故障转移:在主节点发生故障时,从节点可以被提升为新的主节点,这个过程称为故障转移(failover)。故障转移可以通过手动操作或使用 Redis Sentinel 来自动完成。

集群(Cluster)中的分片数据同步

Redis 集群是一种分布式数据存储解决方案,它将数据自动分割成多个分片(slots),并分布在不同的节点上。集群中的同步机制包括:

  1. 槽(Slot)分配:集群中的每个节点负责一定数量的槽。每个键值对根据其键的哈希值映射到一个特定的槽。

  2. 主从复制:在集群中,每个槽都可以有一个主节点和一个或多个从节点。从节点复制主节点的槽数据,确保数据的高可用性。

  3. 槽迁移:集群支持在线迁移槽,即在不停止服务的情况下,将一个槽从一个节点迁移到另一个节点。这允许集群动态地重新分配负载。

  4. 故障检测与恢复:集群节点会相互检测故障,如果一个主节点故障,集群会通过投票机制选择一个从节点来替换故障的主节点。

  5. 数据一致性:集群中的每个节点都会维护一个数据结构,记录其他节点的状态和槽的分配情况。这有助于在节点故障时快速恢复数据一致性。

总结

Redis 的同步机制是其高可用性和数据一致性的关键。主从复制允许数据在多个节点之间复制,而集群模式则通过分片和槽的分配,实现了数据的分布式存储和同步。通过这些机制,Redis 能够在保证高性能的同时,提供数据的可靠性和容错能力。

相关文章:

赶紧收藏!2024 年最常见 20道 Redis面试题(三)

上一篇地址&#xff1a;赶紧收藏&#xff01;2024 年最常见 20道 Redis面试题&#xff08;二&#xff09;-CSDN博客 五、Redis的持久化机制是什么&#xff1f; Redis 是一个高性能的键值存储系统&#xff0c;支持多种类型的数据结构&#xff0c;如字符串、哈希、列表、集合、…...

VMware 和 VirtualBox开机自启指定虚拟机详细教程

VMware上虚拟机随宿主机开机自启 1. 设置自动启动虚拟机 网上教程旧版的&#xff0c;界面和新版有所差异。17版本设置如下&#xff1a;VMware Workstation工作台 -> 文件 -> 配置自动启动虚拟机 -> 按顺序选择需要启动的虚拟机 VMWare17配置自动启动虚拟机提示&…...

note-网络是怎样连接的2 协议栈和网卡

助记提要 协议栈的结构协议栈创建连接的实际过程协议栈发送数据包的2个判断依据TCP确认数据收到的原理断开连接的过程路由表和ARPMAC地址的分配MAC模块的工作通过电信号读取数据的原理网卡和协议栈接收包的过程ICMPUDP协议的适用场景 2章 用电信号传输TCP/IP数据 探索协议栈和…...

ros学习之路径规划

一、全局路径规划中的地图 1、栅格地图&#xff08;Grid Map&#xff09;2、概率图&#xff08;Cost Map&#xff09;3、特征地图&#xff08;Feature Map4、拓扑地图&#xff08;Topological Map&#xff09; 二、全局路径规划算法 1、Dijkstra 算法 2、最佳路径优先搜索算…...

Qt 顺序容器的详细介绍

一.顺序容器介绍 Qt 中的顺序容器包括 QVector、QList、QLinkedList 和 QStack。这些容器都提供了类似于 C STL 中的容器的功能&#xff0c;但是在 Qt 中提供了更多的功能和接口。 二.具体介绍 1.QVector QVector&#xff1a;是一个动态数组&#xff0c;可以在其末尾快速插入…...

基于语音识别的智能电子病历(三)之 M*Modal

讨论“基于语音识别的智能电子病历”&#xff0c;就绕不开 Nuance 和 M*Modal。这2个公司长时间的占据第一和第二的位置。下面介绍一下M*Modal。 这是2019年的一个新闻“专业医疗软件提供商3M公司为自己购买了一份圣诞礼物&#xff0c;即M*Modal IP LLC的医疗技术业务&#xf…...

理解Apache Storm的实际用途和应用场景

学习目标&#xff1a; 理解Apache Storm的实际用途和应用场景 学习内容&#xff1a; 1. 实时数据处理和分析 1.1 实时日志分析 公司可以使用Storm来实时处理和分析服务器日志。例如&#xff0c;电商网站可以实时监控用户行为日志&#xff0c;以检测异常活动&#xff08;如DD…...

【iceberg】数据湖与iceberg调研与实战

文章目录 一. 为什么现在要强调数据湖1. 大数据架构发展历史2. Lambda架构与kappa架构3. 数据湖所具备的能力 二. iceberg是数据湖吗1. iceberg的诞生2. iceberg设计之table format从如上iceberg的数据结构可以知道&#xff0c;iceberg在数据查询时&#xff0c;1.查找文件的时间…...

xrdp多用户多控制界面远程控制

1、无桌面安装桌面&#xff08;原本有ubuntu桌面的可以直接跳过这一步&#xff09; Gnome 与 xfce 相比&#xff0c;xfce 由于其轻巧&#xff0c;它可以安装在低端台式机上。Xfce 优雅的外观&#xff0c;增强了用户体验&#xff0c;它对用户非常友好&#xff0c;性能优于其他桌…...

git会忽略我们工作改动中的大小写

在我们日常git工作中&#xff0c;我们对于文件名字的大小写修改正常是不会被git记录的 这是因为默认情况下git是不区分大小写的 这会导致一个问题&#xff0c;由于我们修改了文件名字的大小写&#xff0c;而对于文件之间相互依赖的导入代码没有对应修改 如果我们此时本地推送…...

SSL 自定义证书创建过程

1、生成自签名根证书和私钥 1.1 生成根证书 1.1.1生成根证书私钥 首先&#xff0c;生成一个自签名的根证书和私钥。这个根证书将作为信任锚&#xff08;Trust Anchor&#xff09;&#xff0c;客户端会信任由这个根证书签署的所有证书。 openssl genrsa -out rootCA.key 204…...

javaSwing飞机订票系统

摘要 Java swing实现的飞机票预定系统&#xff0c;系统数据库原本采用的是Oracle&#xff0c;我又改了一个mysql版本的&#xff0c;所以这套系统有两个版本&#xff0c;一个是mysql数据库版的&#xff0c;一个是Oracle数据库版 一&#xff0e; 已经完成的功能 &#xff1a; …...

赶紧收藏!2024 年最常见 20道 Redis面试题(四)

上一篇地址&#xff1a;赶紧收藏&#xff01;2024 年最常见 20道 Redis面试题&#xff08;三&#xff09;-CSDN博客 七、Pipeline有什么好处&#xff0c;为什么要用pipeline&#xff1f; Redis Pipeline 是一种批量执行命令的技术&#xff0c;它允许客户端一次性发送多个命令…...

虚拟列表 vue-virtual-scroller 的使用

npm 详情&#xff1a;vue-virtual-scroller - npm (npmjs.com) 这里我使用的是RecycleScroller。 App.vue <template><RecycleScrollerclass"scroller":items"items":item-size"54"v-slot"{ item }"><list-item :it…...

前端基础入门三大核心之HTML篇:深入理解重绘与重排 —— 概念、区别与实战演练

前端基础入门三大核心之HTML篇&#xff1a;深入理解重绘与重排 —— 概念、区别与实战演练 HTML渲染基础回顾重绘与重排的概念重绘&#xff08;Repaint&#xff09;重排&#xff08;Reflow&#xff09; 区别与影响实战示例&#xff1a;优化策略与代码演示示例1&#xff1a;避免…...

【C/C++笔试练习】TCP、IP广播、ARP协议、IP路由器、MAC协议、三次握手、TCP/IP、子网划分年、会抽奖、抄送列表

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;TCP&#xff08;2&#xff09;IP广播&#xff08;3&#xff09;ARP协议&#xff08;4&#xff09;IP路由器&#xff08;5&#xff09;MAC协议&#xff08;6&#xff09;三次握手&#xff08;7&#xff09;TCP/IP&#xf…...

线程的概念和控制

文章目录 线程概念线程的优点线程的缺点线程异常线程用途理解虚拟地址 线程控制线程的创建线程终止线程等待线程分离封装线程库 线程概念 什么是线程&#xff1f; 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一…...

PHS树脂(聚对羟基苯乙烯)为KrF光刻胶专用树脂 本土企业具备百公斤级别量产能力

PHS树脂&#xff08;聚对羟基苯乙烯&#xff09;为KrF光刻胶专用树脂 本土企业具备百公斤级别量产能力 PHS树脂又称聚对羟基苯乙烯树脂、聚羟基苯乙烯树脂&#xff0c;指以对羟基苯乙烯作为基材制成的光刻胶树脂。与其他光刻胶树脂相比&#xff0c;PHS树脂具有极佳热稳定性、化…...

Python 机器学习 基础 之 数据表示与特征工程 【单变量非线性变换 / 自动化特征选择/利用专家知识】的简单说明

Python 机器学习 基础 之 数据表示与特征工程 【单变量非线性变换 / 自动化特征选择/利用专家知识】的简单说明 目录 Python 机器学习 基础 之 数据表示与特征工程 【单变量非线性变换 / 自动化特征选择/利用专家知识】的简单说明 一、简单介绍 二、单变量非线性变换 三、自…...

uniapp-自定义navigationBar

封装导航栏自定义组件 创建 nav-bar.vue <script setup>import {onReady} from dcloudio/uni-appimport {ref} from vue;const propsdefineProps([navBackgroundColor])const statusBarHeight ref()const navHeight ref()onReady(() > {uni.getSystemInfo({success…...

多式联运奇迹:探索 GPT-4o 的尖端功能

取得的显着进展的DigiOps与人工智能已经标志着重要的里程碑&#xff0c;随着时间的推移塑造了人工智能系统的能力。从早期基于规则系统的出现机器学习和深入学习&#xff0c;人工智能已经发展得更加先进和通用。 生成式预训练 Transformer (GPT) by OpenAI 已特别值得注意。每…...

前端 CSS 经典:好看的标题动画

前言&#xff1a;好看的标题动画实现。 效果&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><…...

Vue项目打包优化(element+echarts+vue使用cdn)

如何打包查看所有资源大小&#xff1f; 使用插件&#xff1a;webpack-bundle-analyzer 效果图&#xff1a; 安装webpack-bundle-analyzer 第一步&#xff0c;终端执行 npm instatll webpack-bundle-analyzer --save-dev第二步&#xff0c;vue.config.js配置 module.export…...

【ARM 嵌入式 C 入门及渐进 6.1 -- ARMv8 C 内嵌汇编写系统寄存器的函数实现】

请阅读【嵌入式开发学习必备专栏】 文章目录 ARMv8 C 内嵌汇编写系统寄存器 ARMv8 C 内嵌汇编写系统寄存器 在ARMv8架构下&#xff0c;使用C语言结合内嵌汇编实现将一个值写入特定系统寄存器的函数可以按照下面的方法进行。 下面这个示例展示了如何将一个uint64_t类型的值写入…...

ESP32基础应用之使用手机浏览器作为客户端与ESP32作为服务器进行通信

文章目录 1 准备2 移植2.1 softAP工程移植到simple工程中2.2 移植注意事项 3 验证 1 准备 参考工程 Espressif\frameworks\esp-idf-v5.2.1\examples\wifi\getting_started\softAP softAP工程演示将ESP32作为AP&#xff0c;即热点&#xff0c;使手机等终端可以连接参考工程 Esp…...

【课后练习分享】Java用户注册界面设计和求三角形面积的图形界面程序

目录 java编程题&#xff08;每日一练&#xff09;&#xff1a; 问题一的答案代码如下&#xff1a; 问题一的运行截图如下&#xff1a; 问题二的答案代码如下&#xff1a; 问题二的运行截图如下&#xff1a; java编程题&#xff08;每日一练&#xff09;&#xff1a; 1.…...

三维空间坐标系变换(旋转平移)

在探究三维空间下的变换前&#xff0c;首先研究二位空间&#xff0c;因为比较直观&#xff0c;再推广到三维空间。 首先应该清楚的一点是&#xff1a;旋转、平移对于坐标系下的点以及坐标系本身而言都是相对的&#xff08;运动的相对性&#xff09;。 例如&#xff1a; X O Y …...

OC笔记之foundation框架

OC学习笔记&#xff08;三&#xff09; 文章目录 OC学习笔记&#xff08;三&#xff09;常用Foundation框架结构体NSRangeNSRange结构体的定义定义 NSRange 的方法打印Range的相关信息NSRange的实际运用查找子字符串返回NSRange结构体 NSPointNSRect NSStringNSString的创建NSS…...

Docker部署springboot包并联通MySQL

Docker部署jar 实现功能 部署springboot下发布的jar包不同docker容器之间通信&#xff08;如MySQL访问、Redis访问&#xff09;多个jar包部署 参考文献 Just a moment… Just a moment… https://www.jb51.net/article/279449.htm springboot配置 这里使用多yaml配置文件&…...

多帧激光点云基于标定参数进行融合拼接

1、前言 在三维视觉技术蓬勃发展的今天&#xff0c;点云作为捕获和表示三维环境的基础数据形式&#xff0c;扮演着至关重要的角色。点云融合拼接技术&#xff0c;作为连接孤立点云片段、构建连续、全面三维场景的核心过程&#xff0c;对于自动驾驶、机器人导航、三维建模以及地…...