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

做网站培训宁波seo企业推广

做网站培训,宁波seo企业推广,seo推广seo技术培训,软件工程师是什么专业文章目录 复习 Redis Day1:Redis 的持久化(上)简述 Redis 持久化的两种策略?RDB(Redis Database)AOF(Append Only File)混合持久化如何选择持久化策略? AOF 的三种持久化…

文章目录

  • 复习 Redis Day1:Redis 的持久化(上)
    • 简述 Redis 持久化的两种策略?
      • RDB(Redis Database)
      • AOF(Append Only File)
      • 混合持久化
      • 如何选择持久化策略?
    • AOF 的三种持久化/写回策略?
    • AOF 的磁盘重写机制?
    • 为什么先执行一个 Redis 写命令,再将该命令写入到 AOF 缓冲区?
    • AOF 重写的具体过程?

复习 Redis Day1:Redis 的持久化(上)

在这里插入图片描述

简述 Redis 持久化的两种策略?

Redis 提供两种主要的持久化策略,用于将缓存中的数据保存到磁盘当中,避免设备故障重启后数据的丢失。这两种持久化策略分别是 RDB 和 AOF。

RDB(Redis Database)

概念
RDB 是指定时间间隔生成的数据的快照(二进制压缩文件,默认文件名为 dump.rdb)。

触发方式
Redis 会定时自动触发,开启子进程写 RDB;也可以通过命令进行手动触发。

优点

  • 文件紧凑,适合 Redis 备份以及容灾恢复;
  • 恢复大数据集时速度比 AOF 快,因为 RDB 是整个数据库的快照,而 AOF 是写命令的集合,通过 AOF 恢复还需要执行相应的命令;
  • 对性能影响小,因为 Redis 开启子进程写 RDB,不占用主进程。

缺点

  • 可能丢失最后一次快照后的数据,可以通过 AOF + RDB 混合来解决;
  • 大数据集时,子进程生成 RDB 快照较慢,可能占用更多的 CPU 和内存。

AOF(Append Only File)

概念
记录所有写操作命令(以文本形式追加到文件中,文件名为 appendonly.aof)。

工作流程
命令先执行,之后写入 AOF 缓冲区。缓冲区当中的数据将根据同步策略持久化到磁盘当中,比如:

  • always:每个命令都会同步到磁盘,安全性最佳但性能最差;
  • everysec:每秒同步一次,最多丢失一秒的数据;
  • no:由 OS 决定,速度最快,但是安全性最差。

优点

  • 数据安全性较高,在 everysec 同步策略下最多丢失「一秒」的数据。相较于 AOF,RDB 可能会丢失上一次快照之后的全部数据。
  • AOF 文件的可读性强,便于人工修复与分析。
  • 支持后台重写压缩文件。

缺点

  • 文件体积通常比 RDB 大。
  • 恢复速度慢,因为需要重新执行所有命令。
  • 高频写入时 I/O 压力大。

混合持久化

概念
AOF 重写时生成 RDB 格式的快照作为基础数据,后续的增量数据写入到 RDB 当中。

优点

  • 兼顾了 RDB 的快速恢复以及 AOF 的数据安全性;
  • 减少 AOF 文件体积,重写效率高。

如何选择持久化策略?

场景策略
允许分钟级数据丢失RDB,因为 RDB 文件小,恢复速度快
需要更高的数据安全性AOF,并开启逐条写入,牺牲性能换取安全性
兼顾数据安全性与性能RDB + AOF 混合
灾难恢复RDB,因为 RDB 文件更小,恢复速度快

总的来说,RDB 更重视恢复速度(可能丢失分钟级数据),AOF 更重视数据安全性(everysec 同步策略下最多丢失一秒的数据,always 下不丢失数据,但会因为 I/O 压力上升导致性能下降)。

AOF 的三种持久化/写回策略?

分别是 alwayseverysecno

  • always:每次写操作执行完毕后,同步 AOF 日志数据到磁盘;
  • everysec:每次写操作完毕后,将写操作写入 AOF 缓冲区,每秒持久化到磁盘一次;
  • no:不控制回写磁盘的时机,由 OS 决定何时将缓冲区当中的数据写入到磁盘。

AOF 的磁盘重写机制?

AOF 的磁盘重写机制(AOF Rewrite)是为了解决随着写命令增多而导致的 AOF 文件体积过大以及恢复速度变慢的问题。其核心是基于当前 Redis 数据库的状态新建一个更紧凑的 AOF 文件,从而移除旧 AOF 文件中冗余的命令,只保留当前 Redis 数据库状态的最小集合。

具体来说,触发 AOF 重写之后,「Redis 开启一个子进程」,将当前 Redis 缓存当中的状态转为写命令并写入一个新的 AOF 文件,新的 AOF 文件与当前 AOF 文件等效,但体积更小,因为删除了冗余的旧命令和重复命令。

为什么先执行一个 Redis 写命令,再将该命令写入到 AOF 缓冲区?

先执行 Redis 命令可以保证写入到 AOF 当中的命令一定是正确的,在数据恢复时不需要再进行语法检查。缺点在于如果 Redis 执行命令后突然宕机,还没来得及将命令记录到 AOF,会导致数据丢失。

AOF 重写的具体过程?

Redis 使用「子进程」执行重写,仅在子进程 fork() 时可能阻塞主进程。具体来说:

步骤一:主进程 fork 子进程
主进程调用 fork() 创建子进程,子进程获得 fork() 执行时与主进程完全相同的内存数据快照。

步骤二:子进程生成新的 AOF 文件
子进程遍历 Redis 内存中所有 key-value pair,将每个键的当前状态转为等效的 Redis 命令,写入临时文件。

步骤三:处理重写期间的增量数据
主进程继续接收客户端的请求,新的写命令会正常执行,并「同时」追加到原 AOF 缓冲区和重写 AOF 缓冲区。

步骤四:子进程完成重写
子进程生成新的 AOF 后,向主进程发送信号。主进程收到信号后,将重写缓冲区内的所有命令追加到新的 AOF 文件尾,并将旧的 AOF 替换为新的 AOF。

http://www.dtcms.com/wzjs/218060.html

相关文章:

  • ps做专业网站南昌百度推广联系方式
  • 深圳网络营销推广中心德州seo整站优化
  • 根据网站做app营销案例分析
  • 广州牌手表网站360搜索引擎地址
  • wordpress 国内广告贵州网站seo
  • 胶州国际网站建设效果国内搜索引擎有哪些
  • 网站的滚动图片怎么做如何自己创建一个网站
  • 如何用区块链加密wordpress旺道智能seo系统
  • 网站建设与管理模拟题1企业网站建设要多少钱
  • 企网官方网站新网
  • 站规划在网站建设中的作用广州番禺发布
  • 上海装修公司网站建设百度推广费
  • 专业建设外贸网站制作最新网站查询
  • 舟山市建设局网站百度管理员联系方式
  • 手机上的软件网站建设品牌推广方案模板
  • 筑梦做网站福鼎网站优化公司
  • 哪个app可以找培训班关键词排名优化流程
  • 一般做网站销售提成有域名有服务器怎么做网站
  • 张家港做网站广告公司哪家网络营销好
  • 百度做网站的费用文明seo
  • 武汉网站建设索q.479185700网站关键词推广工具
  • 外贸企业建站公司青岛神马排名优化
  • 隐藏wordpress特征网络优化师
  • 淮安市做网站的公司网络营销知识点
  • 毕业设计代做的网站好刚刚北京传来重大消息
  • 一个企业可以做几个网站旺道seo
  • 视频运营管理网站seo怎么做优化工作
  • 营销型网站建设公司比较专业百度关键词查询
  • 文本怎样做阅读链接网站网络推广软文
  • 苏州工业园区一站式服务中心北京优化seo排名优化