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

华为OD技术面真题 - 数据库Redis - 2

文章目录

  • 说说Redis的持久化机制
    • RDB持久化
    • AOF持久化
    • 混合模式
  • 不同持久化方案适合什么场景
  • Redis内存淘汰策略了解吗
  • 什么是Redis事务

说说Redis的持久化机制

Redis是内存数据库,如果不提供持久化机制,当redis进程退出或者宕机时,数据会丢失。redis为了保证重启/宕机等情况保证数据不全部丢失,提供了持久化机制。

Redis提供三种持久化机制:

  • 快照(RDB)
  • 可追加文件(AOF)
  • RDB和AOF混合持久化

RDB持久化

RDB持久化本质上是创建当前Redis数据的快照RDB文件(副本)。有了RDB文件之后,在发生程序崩溃/重启可利用RDB恢复数据库内容,Redis默认的持久化机制。

RDB持久化触发方式:

  • 手动触发:
    • 手动执行save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存 比较大的实例会造成长时间阻塞,线上环境不建议使用。
    • 手动执行bgsave命令:Redis进程执行fork操作创建子进程,RDB持久化过程由子 进程负责,完成后自动结束。阻塞只发生在fork阶段,一般时间很短。
  • 自动触发:
    • redis.conf配置文件默认会有save m n,即在m秒内有n次修改时,自动触发bgsave生成rdb文件。
    • 默认情况下执行shutdown命令,如果没有开启aof持久化,也会自动触发save命令。

RDB持久化的优缺点:

  • 优点:
    • 文件体积小
    • 读取RDB文件恢复数据快。
  • 缺点:
    • RDB方式实时性不够,无法做到秒级的持久化;
    • fork 子进程有性能和内存压力。

RDB也是进行主从同步数据的载体。

AOF持久化

AOF的出现是为了解决 RDB 数据丢失窗口过大的问题,提供更好的更好实时性保存的持久化机制。通过更改redis.conf配置文件中appendonly yes来启用AOF持久化。AOF持久化本质上看作一个操作日志文件,通过记录更改数据库的命令,然后落盘到文件中,以达到发生程序崩溃/重启时重放命令恢复数据,。

AOF的持久化功能实现可分为以下步骤;

  1. 命令追加(append):所有写命令会追加到AOF缓冲区中。
  2. 文件写入(write):将 AOF 缓冲区的数据写入到 AOF 文件中,此步是将AOF缓存区数据写入到操作系统内核缓冲区。此时并没有进行数据落盘
  3. 文件同步(fsync):根据appendfync配置,redis会按照指定频率,调用fync函数,强制数据落盘,保证数写入磁盘文件。这步执行完成后才代表数据真正被保存

redis中提供appendfync策略有以下几种:

  • always: 同步写回,执行写命令之后,立即执行命令追加文件写入步骤,同时主线程调用fsync命令,阻塞同步直到数据落盘。最安全的一种策略,理论上不会丢失数据,同时性能最差
  • Everysec: 每秒写回,每个写命令执行完,先把日志写到AOF文件的内存缓冲区并执行write操作,后台线程每隔一秒执行fync写入磁盘;性能 + 实时性综合的方案
  • No:操作系统控制的写回,reids不会主动执行fsync命令。实时性最差, 性能最好的方案。

上面提高AOF本质是以追加方式记录Redis已经执行的写命令,随着时间越来越长,AOF文件会变得越来越大。如果不加以控制,AOF文件越大,导致数据恢复也越慢,基于此Redis提供AOF重写机制,限制AOF文件不断增长。AOF重写机制原理是通过读取数据库中的键值对来实现的,程序无须对现有 AOF 文件进行任何读入、分析或者写入操作。,步骤大概如下

  1. AOF重写会执行大量写操作,reids将AOF重写使用子进程执行。
  2. AOF 文件重写期间,Redis 还会维护一个AOF 重写缓冲区,该缓冲区会在子进程创建新 AOF 文件期间,记录服务器执行的所有写命令。当子进程完成创建新 AOF 文件的工作之后,服务器会将重写缓冲区中的所有内容追加到新 AOF 文件的末尾,使得新的 AOF 文件保存的数据库状态与现有的数据库状态一致。
  3. 服务器用新的 AOF 文件替换旧的 AOF 文件,代表重写的完成。

混合模式

Redis 4.0 中提出了一个混合使用 AOF 日志和内存快照的方法。简单来说,内存快照以一定的频率执行,在两次快照之间,使用 AOF 日志记录这期间的所有命令操作。

混合模式的优点:

  • 快照不用很频繁地执行,这就避免了频繁 fork 对主线程的影响
  • AOF 日志也只用记录两次快照间的操作,也就是说,不需要记录所有操作了,因此,就不会出现文件过大的情况了,也可以避免重写开销。
  • 既能享受到 RDB 文件快速恢复的好处,又能享受到 AOF 只记录操作命令的简单优势。

不同持久化方案适合什么场景

只使用RDB的场景:

  • 缓存型业务
  • 数据可从关系型数据库或其它途径恢复
  • 容忍数据少量数据丢失。

只使用AOF场景:

  • 可容忍性能下降
  • 数据非常重要
  • 不希望丢失数据

混合模式场景:

  • 生产环境,核心业务
  • 既要保证数据不能丢失
  • 又要保证redis重启恢复数据快

Redis内存淘汰策略了解吗

Redis 的内存淘汰策略只有在运行内存达到了配置的最大内存阈值时才会触发,这个阈值是通过redis.confmaxmemory参数来定义的。

Redis提供以下几种内存淘汰策略:

  • no-eviction:默认内存淘汰策略,禁止驱逐数据,当内存不足以容纳新写入数据时,新写入操作会报错。
  • volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰。
  • volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。
  • volatile-random: 从已设置过期时间的数据集中任意选择数据淘汰。
  • allkeys-random: 从所有数据集中任意选择数据淘汰。
  • volatile-lfu:从已设置过期时间的数据集中挑选最不经常使用的数据淘汰。
  • allkeys-lfu: 从所有数据集中挑选最不经常使用的数据淘汰。

什么是Redis事务

Redis 事务是通过 MULTI 和 EXEC 将多个命令打包顺序执行的一种机制,能够保证事务执行期间不会被其他客户端的命令打断。Redis 事务不支持回滚,也不具备关系型数据库事务的完整 ACID 特性。

实际开发过程中,不太推荐使用Redis事务。

http://www.jsqmd.com/news/318019/

相关文章:

  • 什么是博弈论,何以得名 “博弈论”
  • 2026年昆山营销策划公司权威测评报告:基于百家客户匿名反馈的口碑深度解析
  • 2026年南京营销策划公司专项甄选报告:头部优质机构全景梳理及专业选型指南
  • 2026年南通营销策划公司推荐:基于本地服务与线上布局场景的深度评价与排名
  • 雅思报班不迷路!机构红榜大公开
  • 2026年南京营销策划公司推荐:针对企业数字化转型痛点的多维度评测与排名
  • 基于springboot的智能民宿预定与游玩系统设计与实现-计算机毕业设计源码+LW文档
  • Linux基础——测试业务20个ssh并发时延2-3秒
  • 2026年最新固定资产管理软件深度测评:AI赋能+灵活定制
  • 2026年广东成人本科自考渠道推荐:成人自考教育 /成人自考本科 /自考考研 /自考本科/ 全日制自考本科服务精选
  • Rust最小版本支持MSRV
  • 交叉熵处softmax有计算被浪费,因为我们只需要target位置的softmax而不是整个矩阵的softmax
  • 2026年江阴营销策划公司推荐:多场景实战评测,破解获客与品牌建设核心痛点
  • 2026年昆山营销策划公司推荐:数字化转型趋势评价,涵盖本地企业与品牌出海场景
  • 2026年苏州多平台AI获客营销服务商标杆:全域覆盖,助力企业高效获客
  • 2026真空压力计市场洞察:技术革新与全球品牌竞争
  • 关于京东e卡回收,你需要知道的几点
  • 2026年昆山营销策划公司推荐:五大标杆服务商综合实力排名揭晓
  • 2026年江阴营销策划公司推荐:基于制造业与本地零售评价,涵盖线上与线下增长痛点
  • 2026年智能虫情测报灯公司权威推荐:虫情监测系统/虫情测报仪/智能虫情测报灯/物联网虫情测报灯/选择指南
  • [STM32H7] 【STM32H745I-DISCO测评】开箱例程体验
  • 中小企业如何选择营销伙伴?2026年昆山营销策划公司评测与推荐,应对初创期资源有限痛点
  • 潍坊市英语雅思培训机构推荐:2026权威测评出国雅思辅导机构口碑榜单
  • 单片机编程软件很简单(九),Keil单片机编程软件高级调试技巧
  • 潍坊市英语雅思培训机构推荐-2026权威测评出国雅思辅导机构口碑榜单
  • [开发工具] 单片机串口静默模式全解析:从原理到通信例程实战
  • 2026年钢结构平台批发指南:高评价厂家有哪些?流利货架定制/伸缩悬臂货架/注塑模具货架,钢结构平台产品推荐排行榜
  • 【FTP】查看FTP服务配置的根目录
  • 潍坊市英语雅思培训机构推荐、2026权威测评出国雅思辅导机构口碑榜单
  • 2026年江阴营销策划公司推荐:制造业转型场景深度评测,破解获客与品牌痛点排名