Marvel-Site Marvel-Site
首页
  • Java

    • Java基础
    • Java进阶
    • Java容器
    • Java并发编程
    • Java虚拟机
  • 计算机基础

    • 数据结构与算法
    • 计算机网络
    • 操作系统
    • Linux
  • 框架|中间件

    • Spring
    • MySQL
    • Redis
    • MQ
    • Zookeeper
    • Git
  • 架构

    • 分布式
    • 高并发
    • 高可用
    • 架构
  • 框架

    • React
    • 其他
  • 实用工具
  • 安装配置

    • Linux
    • Windows
    • Mac
  • 开发工具

    • IDEA
    • VsCode
  • 关于
  • 收藏
  • 草稿
  • 索引

    • 分类
    • 标签
    • 归档
GitHub (opens new window)

Marvel

吾必当乘此羽葆盖车
首页
  • Java

    • Java基础
    • Java进阶
    • Java容器
    • Java并发编程
    • Java虚拟机
  • 计算机基础

    • 数据结构与算法
    • 计算机网络
    • 操作系统
    • Linux
  • 框架|中间件

    • Spring
    • MySQL
    • Redis
    • MQ
    • Zookeeper
    • Git
  • 架构

    • 分布式
    • 高并发
    • 高可用
    • 架构
  • 框架

    • React
    • 其他
  • 实用工具
  • 安装配置

    • Linux
    • Windows
    • Mac
  • 开发工具

    • IDEA
    • VsCode
  • 关于
  • 收藏
  • 草稿
  • 索引

    • 分类
    • 标签
    • 归档
GitHub (opens new window)
  • Java

  • 计算机基础

  • 框架|中间件

    • Spring

    • MyBatis

    • MySQL

    • Redis

      • Redis简介
      • Redis常用命令
      • Redis底层数据结构
      • Redis数据结构
      • Redis多线程单线程问题
      • Redis过期删除策略和缓存淘汰机制
      • Redis持久化
        • RDB
        • AOF
      • Redis分布式锁
      • Redis事务
      • Redis缓存穿透、缓存击穿、缓存雪崩
      • Redis集群 - 哨兵模式
      • Redis集群 - Redis集群
    • 消息队列

    • Zookeeper

    • Git

    • Maven

    • Gradle

  • 架构

  • 后端
  • 框架|中间件
  • Redis
Marvel
2022-07-16
目录

Redis持久化

# Reids持久化机制

# RDB

RDB(Reids DataBase):

在指定的时间间隔内将内存中的数据快照写入磁盘,保存的数据替换原来的数据,全量存储。恢复时时将快照文件直接读到内存中。

Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程时不进行任何IO操作的,这就确保了极高的性能,如果需要进行大规模数据的恢复,且对数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加高效。

img

优点:

  • Redis数据库只有包含一个备份文件,节省磁盘空间,恢复速度快。
  • 性能最大化,fork子进程负责完成持久化工作,避免服务器进程进行IO操作。
  • 相比AOF机制,RDB启动效率会更高。

缺点:

  • 不能保证高可用,当系统宕机时,没来得及写入磁盘的数据将丢失。最后一次持久化的数据可能丢失。
  • fork子进程协助完成持久化工作,当数据集较大时,可能会导致整个服务器停止服务几百毫秒。

# AOF

AOF(Append only File):

以日志的形式来记录每一个写操作,将Redis执行过程的所有指令记录下来(读操作不记录),只许追加文件但不可以改写文件,增量存储,相比RDB,它的粒度更细,redis启动之初会读取该文件重新构建数据,也就是redis重启之后会根据日志文件的内容将写指令从前到后执行一次已完成数据的恢复工作。

AOF默认不开启。

img

优点:

  • 保证数据安全,丢失数据非常少。有3种同步策略:每秒同步、每修改同步和不同步。
  • 采用日志文件的方式,在写入时出现宕机也不会破坏日志文件已存在的内容。

缺点:

  • 相同数量的数据,AOF文件通常要大于RDB。
  • AOF运行效率会慢一些。
编辑 (opens new window)
#Redis
上次更新: 2023/08/20, 21:21:52
Redis过期删除策略和缓存淘汰机制
Redis分布式锁

← Redis过期删除策略和缓存淘汰机制 Redis分布式锁→

最近更新
01
位运算
05-21
02
二叉树
05-12
03
Spring三级缓存解决循环依赖
03-25
更多文章>
Theme by Vdoing | Copyright © 2022-2024 Marvel
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式