介绍 Redis 的数据持久化方案

Redis 的数据持久化主要有两大机制,AOF 日志和 RDB 快照。

  • AOF 持久化是通过保存 Redis 服务器所执行的写命令来记录数据库状态。
  • RDB 持久化是通过保存数据库中的键值对来记录数据库状态。

根据服务器是否启用了 AOF 持久化功能, 服务器载入数据时所使用的目标文件会有所不同:

  • 如果服务器启用了 AOF 持久化功能, 那么服务器使用 AOF 文件来还原数据库状态。
  • 如果服务器没有启用 AOF 持久化功能,那么服务器使用 RDB 文件来还原数据库状态。

AOF 和 RDB 的优劣局限

AOF 日志相比 RDB 快照的优势:

  • AOF 对系统的性能影响更小:AOF 只是追加日志文件,而 RDB 是对所以键值对的快照,因此一次 AOF 操作比 RDB 对系统的性能影响更小,速度比 RDB 要快,消耗的内存较少。

AOF 日志相比 RDB 快照的劣势:

  • AOF 载入文件的速度更慢:AOF 保存写命令,而 RDB 保存保存键值对来记录数据库状态,因此载入 AOF 文件的速度比载入 RDB 文件的速度更慢。
  • AOF 文件的体积更大:保存相同的数据库状态,AOF 文件比 RDB 文件的体积更大。

AOF 和 RDB 混合持久化

在 Redis4.0 后支持混合持久化方式,如果使用混合持久化:

  • 当服务器执行写命令后,Redis 会以 AOF 持久化方式将命令写回 incr.aof 文件。
  • 当进行 AOF 文件重写时,Redis 会以 RDB 持久化方式将当前数据库状态保存到名为 base.aof 文件,然后再将 AOF 重写缓冲区中的所有内容写入 incr.aof 文件。
  • 当 Redis 服务器重启后,将载入 base.aof 和 incre.aof 文件以还原数据库状态。

Redis的数据持久化的更多相关文章

  1. Redis之数据持久化RDB与AOF

    Redis之数据持久化RDB与AOF https://www.cnblogs.com/zackku/p/10087701.html 大家都知道,Redis之所以性能好,读写快,是因为Redis是一个内 ...

  2. 进阶的Redis之数据持久化RDB与AOF

    大家都知道,Redis之所以性能好,读写快,是因为Redis是一个内存数据库,它的操作都几乎基于内存.但是内存型数据库有一个很大的弊端,就是当数据库进程崩溃或系统重启的时候,如果内存数据不保存的话,里 ...

  3. redis配置数据持久化---APPEND ONLY MODE

    Redis配置数据持久化---APPEND ONLY MODE 2016年04月01日 19:05:11 阅读数:9918 Redis可以实现数据的持久化存储,即将数据保存到磁盘上. Redis的持久 ...

  4. redis的数据持久化方案

    Redis的持久化方案有两种 1.Rdb方式:快照形式,定期将内存中的数据持久化到硬盘.是Redis默认的数据持久化的形式. Rdb:缺点是:数据还没有更新到磁盘上,突然断电,造成数据的不完整性. 在 ...

  5. redis的数据持久化策略

    redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照,它可以将存在于某一时刻的所有数据都写入硬盘里面.另一种方法叫只追加文件(AOF),它会在执行写命令时,将被执行的写命令复制到 ...

  6. redis学习——数据持久化

    一.概述 Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis重启后,所有存储在内存中的数据将会丢失,在很多情况下是无法容忍这样的事情的.所以,我们需要将内存中的数据持久 ...

  7. redis学习 - 数据持久化

    Redis提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内产生数据集的时间点快照(point-in-time snapshot) AOF持久化记录服务器执行的所有写操作命令,并在 ...

  8. redis的数据持久化存储

    Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式: 一.snapshotting(快照)方式快照是默认的持久化方式. ...

  9. Redis 4.x 安装及 发布/订阅实践和数据持久化设置

    1.或者源码安装包 #wget http://download.redis.io/releases/redis-4.0.6.tar.gz 2.解压源码包 #tar -zxf redis-4.0.6.t ...

  10. Redis数据持久化机制AOF原理分析一---转

    http://blog.csdn.net/acceptedxukai/article/details/18136903 http://blog.csdn.net/acceptedxukai/artic ...

随机推荐

  1. 秋初 WAMP 集成环境 v2.1

    基于QT的PHP集成开发环境v2.1 https://gitee.com/xiaqiuchu/wamp-integrated-environment 界面预览 已实现功能 服务的启动.关闭.重启. p ...

  2. 手把手教你使用LabVIEW人工智能视觉工具包快速实现传统Opencv算子的调用(含源码)

    前言 今天我们一起来使用LabVIEW AI视觉工具包快速实现图像的滤波与增强:图像灰度处理:阈值处理与设定:二值化处理:边缘提取与特征提取等基本操作.工具包的安装与下载方法可见之前的博客. 一.图像 ...

  3. 《MySQL自传》

    撰写本文查阅了大量参考资料,也得到很多朋友的指点帮助,特别感谢: Jimmy Yang--阿里云数据库研究员,原Oracle InnoDB Architect. 彭立勋--华为云数据库总工程师,MyS ...

  4. 国产电脑可较为流畅运行的Windows系统

    系统是Windows2003,内置了WPS和IE8,使用QEMU TCG运行,速度慢,凑合能用. 使用前先sudo apt install qemu-system-x86,把压缩包中的2003.qco ...

  5. SpringBoot(三) - Slf4j+logback 日志,异步请求,定时任务

    1.Slf4j+logback 日志 SpringBoot框架的默认日志实现:slf4j + logback: 默认日志级别:info,对应了实际生产环境日志级别: 1.1 日志级别 # 常见的日志框 ...

  6. 2022-08-21-Freewind主题_cdn替换版

    layout: post cid: 16 title: Freewind主题 cdn替换版 slug: 16 date: 2022/08/21 14:06:00 updated: 2022/08/21 ...

  7. 15. MongoDB系列之选择片键

    1. 片键类型 1.1 升序片键 升序片键通常类似于date或ObjectId--随着时间稳步增长的字段. 这种模式通常会使MongoDB更难保持块的平衡,因为所有的块都是由一个分片创建的. 1.2 ...

  8. .net core -利用 BsonDocumentProjectionDefinition 和Lookup 进行 join 关联 MongoDB 查询

    前序 前段时间由于项目需要用到MongoDB,但是MongoDB不建议Collection join  查询,网上很多例子查询都是基于linq 进行关联查询.但是在stackoverflow找到一个例 ...

  9. C#实践炸飞机socket通信

    一.前言 最近老师要求做课设,实现一个 "炸飞机" 游戏,我是负责UI界面实现和Socket通信实现的,在这里想总结一下我实现Socket的具体过程,对其中的产生的问题和实现的方法 ...

  10. Codeforces Round #786 (Div. 3) 补题记录

    小结: A,B,F 切,C 没写 1ll 对照样例才发现,E,G 对照样例过,D 对照样例+看了其他人代码(主要急于看后面的题,能调出来的但偷懒了. CF1674A Number Transforma ...