首页 > 数据库 >2023-06-07:Redis 持久化方式有哪些?以及有什么区别?

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

时间:2023-06-07 20:32:07浏览次数:46  
标签:AOF 持久 07 2023 Redis RDB 机制 数据

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

答案2023-06-07:

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

RDB

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

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

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

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机制则具有较好的启动效率,因为仅需要加载一次快照即可完成恢复。

标签:AOF,持久,07,2023,Redis,RDB,机制,数据
From: https://blog.51cto.com/moonfdd/6434927

相关文章

  • Redis 消息的发布与订阅
    1.Redis发布订阅1.1.Redis发布订阅的简介Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis客户端可以订阅任意数量的频道。1.2.Redis发布订阅示意图订阅:消息订阅者(client2、client5和client1)订阅频道channel1发布......
  • 2023冲刺国赛模拟11
    A.天地一抹红同行的转移是\(kx+b\)的形式,可以李超树维护其实可以斜率优化,但是懒得动脑子code#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefpair<int,ll>pil;intread(){ intx=0;charc=g......
  • 第3天学习Docker-Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)
    前提须知:(1)搜索镜像命令格式:dockersearch镜像名(2)设置Docker镜像加速器详见文章:Docker设置ustc的镜像源(镜像加速器)1、部署MySQL拉取镜像(这里拉取mysql5.7版本)[root@localhost~]#dockerpullmysql:5.7创建容器(默认运行)[root@localhost~]#dockerrun-di--name=my_mysql-p330......
  • 【20230607】【用Python让Excel飞起来】 第一章 python 快速上手 I
    001安装Anacondaanaconda.com直接下载,然后安装记得安装的时候将path和link.py点上,不然回头去配置环境变量有一些麻烦如何判断成功安装在CMD中输入conda-V即可查看002安装配置pycharm直接安装即可,官网下载,然后安装注意pycharm的pro版本是收费的,edu邮箱可以免费1年......
  • 欧奈儿行业 RPS 排名,一图览全貌 2023-06-07
    自动复盘2023-06-07k线图是最好的老师,点击详情图可以看到行业20日RPS的排名,最底下子图是行业rps走势线跟踪板块总结:成交额超过100亿排名靠前,macd柱由绿转红公众hao:醉卧梦星河欧奈尔行业RPS排名天天更新追踪主力行业趋势更容......
  • 链家广州二手房数据 2023
    还记得在2019年的夏天曾经用R爬过一份广州在lianjia.com放盘数据(博客1,博客2,博客3)。翻看当时的记录:我稚嫩地惊叹着广州二手房放盘量已经超过50,000套了。尔后,疫情袭来,三年封锁。这个夏天当我用Python再次爬lianjia.com广州的放盘数据,却坦然地接受超120,000套巨量放盘数......
  • java面试(30)- redis
    1:Redis支持的数据类型a)字符串keyvalb)hashkeynamefiledc)listkeyv1v2v3v3d)setkeyv1v2v3d)zsetkeysv2:Redis支持的事务3:为什么redis快 4:redis的优缺点1、优点a)数据类型丰富b)支持数据......
  • 【2023-06-05】三胎前提
    20:00那曾柔软细腻的心,被这世界狠狠嘲笑过,但我的本质不可摧毁,我心安,释然,从容生出新叶。                                                 ——黑塞何太问我还敢不敢要......
  • 【2023-06-06】难得平淡
    20:00窗间梅熟落蒂,墙下笋成出林。连雨不知春去,一晴方觉夏深。                                                 ——范成大·《喜晴》昨晚下班回到家里时,已经10点半了......
  • 007 数据库学习笔记--试图
    试图:虚拟表,由一个或多个表通过查询而定义出来的。将查询定义保存起来,实际不包括数据。与表的区别:表是用于存储数据的地方;试图存储的查询语句;试图作用:简化查询,增加数据的保密性,安全性上得到保障;试图缺点:只是简化查询,并不提高查询速度;......