2023-06-07:Redis 持久化方式有哪些?以及有什么区别?

答案2023-06-07:

Redis提供了两种持久化机制:RDB和AOF。

RDB

RDB持久化是将Redis当前进程中的数据生成快照并保存到硬盘的过程。快照指的是Redis在某一时刻的内存状态的记录,类似于拍照一样把数据保存下来,因此也被称为Redis的数据库快照(Redis DataBase Dump),简称RDB。该机制使得Redis能够将内存中的数据保存到磁盘上并在需要的时候加载该数据从而恢复Redis的状态。

优点:

Redis RDB机制只需要一个文件dump.rdb即可对Redis的内存数据进行持久化存储,并且具有容灾性好的特点,因为该文件可以保存到安全的磁盘上。

此外,RDB机制的性能也相对较高,其实现通过fork子进程的方式,在子进程中完成写操作,让主进程继续处理命令,从而充分利用了系统的IO性能。

特别是在数据集较大的情况下,相比AOF机制,RDB的启动效率更高。

缺点:

相对于AOF机制而言,RDB机制的数据安全性可能会稍差一些。因为RDB机制是间隔一定时间(或手动触发)进行一次持久化,如果在两次持久化之间Redis发生故障,可能会导致数据的丢失。因此,RDB机制更适合对数据安全性要求不高的场景。但需要注意的是,在Redis运行时也可以通过调用SAVE或BGSAVE命令来手动触发RDB存储,以增加数据的安全性。

AOF

AOF (Append Only File)持久化机制以日志的形式记录每次写操作,当Redis服务重启时,会根据记录的日志重新执行AOF文件中的命令来恢复数据。相比于RDB机制,AOF机制主要解决了数据持久化时的实时性问题,因此已经成为了Redis持久化的主流方式之一。AOF将Redis的每一次写操作记录到文件中,避免了在数据丢失时的大规模数据损失,因此对于对数据安全性要求比较高的场景,使用AOF机制是更好的选择。

缺点:

1.AOF文件通常比RDB文件要大,并且在重启时恢复速度相对较慢。这是由于AOF机制需要不断地将写操作记录追加到文件中,从而导致了文件大小的增长。实际上,Redis提供了AOF重写机制(AOF Rewrite),可以通过压缩AOF文件来减小文件大小和恢复时间。

2.数据集比较大时,使用AOF机制的启动效率可能会较低。这是因为AOF机制通常需要恢复文件中所有的写操作,而数据集比较大时,AOF文件的体积也会随之增大,导致恢复时间变长。与之相比,RDB机制则具有较好的启动效率,因为仅需要加载一次快照即可完成恢复。

2023-06-07:Redis 持久化方式有哪些?以及有什么区别?的更多相关文章

  1. 【Redis篇】Redis持久化方式AOF和RDB

    一.前述 持久化概念:将数据从掉电易失的内存存放到能够永久存储的设备上. Redis持久化方式RDB(Redis DB)   hdfs:    fsimageAOF(AppendOnlyFile)   ...

  2. Redis持久化方式的选择

    本文将介绍Redis持久化的两种方式:快照持久化和AOF持久化,并对两种方法进行分析和对比,方便在实际中做出选择. 持久化 什么是持久化 Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘 ...

  3. redis 持久化方式

    对于persistence持久化存储,Redis提供了两种持久化方法: Redis DataBase(简称RDB) 执行机制:快照,直接将databases中的key-value的二进制形式存储在了r ...

  4. Redis持久化方式RDB和AOF

    Redis 持久化 RDB(快照) 优点 rdb是可进行压缩的二进制文件,表示Redis在某一个时间点的数据快照.非常使用与备份,灾难恢复等场景.比如使用定时任务执行bgsave并备份rdb到serv ...

  5. Redis持久化方式--RDB和AOF

    转载于:https://www.cnblogs.com/xingzc/p/5988080.html Redis提供了RDB持久化和AOF持久化 RDB机制的优势和略施 RDB持久化是指在指定的时间间隔 ...

  6. redis持久化方式与优缺点

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

  7. iOS数据持久化方式及class_copyIvarList与class_copyPropertyList的区别

    iOS数据持久化方式:plist文件(属性列表)preference(偏好设置)NSKeyedArchiver(归档)SQLite3CoreData沙盒:iOS程序默认情况下只能访问自己的程序目录,这 ...

  8. Redis持久化方式

    Snapsotting(快照)方式 snapsotting是默认方式,(把数据做一个备份,将数据存储在文件) 这种方式将内存中数据照快照方式写到二进制文件中.默认的文件名为"dump.rdb ...

  9. redis——持久化方式RDB与AOF分析

    https://blog.csdn.net/u014229282/article/details/81121214 redis两种持久化的方式 RDB持久化可以在指定的时间间隔内生成数据集的时间点快照 ...

  10. 20190930-02 Redis持久化方式一:RDB及修改RDB的默认持久化策略 000 032

随机推荐

  1. Redis事件机制(未写完)

    Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件: 文件事件:Redis通过套接字与客户端连接,文件事件是服务器对套接字操作的抽象. 时间事件:Redis服务器中的一些操作需要给定的时间 ...

  2. Linux报错:audit: backlog limit exceeded(审计:超出积压限制)

    Linux报错:audit: backlog limit exceeded(审计:超出积压限制) 系统版本:CentOS Linux release 7.6.1810 (Core) 问题现象:一次巡检 ...

  3. 百度360搜索关键词提交.py(亲测有效)

    import requests keyword = "Python" try: kv = {'wd':keyword} # 百度 kv1 = {'q':keyword} # 360 ...

  4. 推荐三款 Mac 上的理财神器 iCompta、Rublik、UctoX

    今天推荐三款理财神器,像个人的话可以使用 iCompta(个人财务管理)一款软件就好了,但有些朋友可能有关注汇率的需求,可以使用 Rublik(汇率动态),还有一些小伙伴可能有自己的公司等原因财务量较 ...

  5. Laf v1.0 发布:函数计算只有两种,30s 放弃的和 30s 上线的

    一般情况下,开发一个系统都需要前端和后端,仅靠一个人几乎无法胜任,需要考虑的特性和功能非常多,比如: 需要一个数据库来存放数据: 需要一个文件存储来存放各种文件,比如图片文件: 后端需要提供接口供前端 ...

  6. 深入理解 python 虚拟机:pyc 文件结构

    深入理解 python 虚拟机:pyc 文件结构 在本篇文章当中主要给大家介绍一下 .py 文件在被编译之后对应的 pyc 文件结构,pyc 文件当中的一个核心内容就是 python 字节码. pyc ...

  7. Django笔记十五之in查询及date日期相关过滤操作

    这一篇介绍关于范围,日期的筛选 in range date year week weekday quarter hour 1.in in 对应于 MySQL 中的 in 操作,可以接受数组.元组等类型 ...

  8. ZR.Admin小改和VUE3版本体验

    前言 孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说:"对呀,对呀!......回字有四样写法,你知道么?" 大家好,我是44岁的大龄程序员码农阿峰.阿峰从事编程二十年 ...

  9. Semantic Kernel 入门系列:🥑突破提示词的限制

    无尽的上下文 LLM的语言理解和掌握能力在知识内容的解读和总结方面提供了强大的能力. 但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答. 因此如何给LLM ...

  10. ArcGIS切片服务获取切片方案xml文件(conf.xml)

    在使用ArcGIS进行影像.地形等切片时,往往需要保持一致的切片方案才能够更好的加载地图服务. 本文介绍如何获取已经发布好的ArcGIS服务的切片方案xml文件. 当然切片xml文件还可以通过工具Ge ...