广告
返回顶部
首页 > 资讯 > 数据库 >redis的持久化
  • 816
分享到

redis的持久化

2024-04-02 19:04:59 816人浏览 独家记忆
摘要

为什么要持久化?在不考虑服务器宕机的情况下,是不需要把内存中的数据保存到磁盘,来做持久化的。持久化,就是专门为宕机准备的补救措施。Redis有rdb和aof两种持久化机制。一、RDB (Redis Data

为什么要持久化?在不考虑服务器宕机的情况下,是不需要把内存中的数据保存到磁盘,来做持久化的。

持久化,就是专门为宕机准备的补救措施。Redis有rdb和aof两种持久化机制。

一、RDB (Redis DataBases)

原理:

redis的持久化

当前进程fork出一个子进程,子进程循环遍历所有的数据,并将数据保存到RDB文件。

时机

按照配置文件设置的策略,来持久化数据。

配置

save 900 1
save 300 10
save 60 10000

二、AOF (AppendOnly File)

原理:

redis的持久化
redis会将收到的,客户端发送过来的每一个写命令,都追加到aof文件的最后。

时机:

每次写命令,都会记录下操作。

配置:

appendonly yes

#默认不需要修改,最低64m开始重排,重排比率是上次的一倍,128m,256m,512m这样。
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

三、RDB和AOF的比较

持久化:

RDB等待写入条件,频率低,如果一次写入的数据较多,有可能带来服务器卡顿。

AOF马上记录每次写命令,频率高,每次写入的数据很少;生成的文件会比RDB生成的大。

AOF记录数据更及时,丢数据的可能更小。

数据恢复:

RDB恢复数据时,直接从RDB文件读取数据,非常快速。

AOF恢复数据时,需要一条一条命令,操作redis服务器,效率较低。


四、AOF的指令重排

aof的指令为什么需要重排:

set aa 1

set aa 2

set aa 3

三条指令,其实只需要保存最后一条就可以了,指令重排的意义就是,将三条变成一条set aa 3。

redis的持久化

当前进程fork出一个子进程,由子进程完成指令重排。

需要注意的是,在子进程进行指令重排的过程中,如果出现新的指令,主进程做两件事情:

1.将指令追加到老的aof文件末尾;

2.将指令保存到缓存中。缓存中的数据,在子进程完成指令重排之后,全部追加到新的aof文件尾部。


五、如何选择持久化的方式

经过上面的分析,我们已经知道rdb和aof各自的优势和缺点。可以根据具体的业务场景,选择合适的方式。

当然,同时使用两种方式也是可以的。

您可能感兴趣的文档:

--结束END--

本文标题: redis的持久化

本文链接: https://www.lsjlt.com/news/37158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis的持久化
    为什么要持久化?在不考虑服务器宕机的情况下,是不需要把内存中的数据保存到磁盘,来做持久化的。持久化,就是专门为宕机准备的补救措施。redis有rdb和aof两种持久化机制。一、RDB (Redis Data...
    99+
    2022-10-18
  • Redis 的持久化
    原文链接: https://www.changxuan.top/p=1386   Redis 是一个非关系型的内存数据库,使用内存存储数据是它能够进行快速存取数据的原因之一。 在实际应用中,常有人提倡把 Redis 只作为一种能够提高用...
    99+
    2018-01-28
    Redis 的持久化
  • Redis的持久化RDB
    dbfilename redis.db  //持久化的文件dir /home/redis/6379    //文件所在目录save 900 1  ...
    99+
    2022-10-18
  • Redis之持久化
    redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。redis支持两种持久化方式: 1、snapshotting(快照)也是默认方式。将内存中的数据以快照...
    99+
    2022-10-18
  • redis的两种持久化
    1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(dif...
    99+
    2022-10-18
  • Redis的持久化介绍
    一、持久化的作用1.什么是持久化redis的所有数据保存在内存中,对数据的更新将异步的保存到硬盘上2.持久化的实现方式快照:某时某刻数据的一个完成备份    -mysql的Dump &n...
    99+
    2022-10-18
  • redis 的持久化机制
    redis 持久化机制有两种:RDB 和 AOF。 RDB RDB 机制是对 redis 中的数据执行周期性的持久化。每个几分钟、几小时、几天生成 redis 内存中的数据的一份完整的快照。 AOF 每条写入命令作为日志,写入 aof 文...
    99+
    2015-09-25
    redis 的持久化机制
  • redis持久化的介绍
    1. RDB 1.1 RDB简介 RDB:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。 工作机制:每隔一段时间,就把内存中的数据保...
    99+
    2022-10-18
  • Redis的持久化详解
    目录一、Redis的持久化二、RDB(Redis DataBase)1、RDB快照原理2、RDB配置3、redis.conf 其他一些配置4、RDB的备份恢复5、RDB优缺点三、AOF(Append Of File)1、...
    99+
    2023-06-05
    Redis持久化详解 Redis 持久化
  • Redis如何监控持久化和优化持久化?
    Redis持久化过程一直是影响redis性能的常见因素,如何监控持久化以及如何优化持久化过程呢?下面我们就一起来看看吧。fork的监控及优化不管是使用哪种持久化,RDB持久化或AOF重写,主进程都会fork...
    99+
    2022-10-18
  • Redis持久化机制
    1、Redis数据持久化的必要性 由于redis是基于内存的数据库,面临数据掉电易失的风险,要避免数据丢失,最好将内存数据持久化到磁盘等永久存储介质上。服务重启时,会先加载磁盘文件内的数据到内存,完成数据恢复。 2、RDB(Red...
    99+
    2020-06-06
    Redis持久化机制
  • redis数据持久化
    1 redis是内存型的数据库 redis数据放在内存中 重启服务器丢失数据 重启redis服务丢失数据 断电丢失数据 为了防止redis数据丢失, 进行持久化, 所以将数据写入到一个文件中来实现 2 rdb持久化 在配置文件中, 添加rd...
    99+
    2021-06-10
    redis数据持久化
  • redis持久化存储
    redis持久化存储 redis持久化存储 redis多被用于缓存和消息中间件,当被用作缓存时,数据的读写都是在内存中进行的,而内存一旦在主机断电或者主机重启时里面的数据将被清空,为保证数据不被丢失,r...
    99+
    2020-12-12
    redis持久化存储
  • Redis之--rdb持久化
    持久化:通俗讲,下次开机还有数据,断电后不会丢失数据,存放于磁盘。 Redis:rdb快照持久化每隔N分钟或N次写操作后,从内存dump数据形成RDB文件。压缩,放在备份目录。 参数详解:从下往上看save...
    99+
    2022-10-18
  • Redis 持久化详解
    http://www.redis.cn/topics/persistence.html 持久化 Redis 如同其他的存储组件一样,提供了两类持久化方式:快照,和全量追加日志。 RDB - 快照 在默认情况下, Redis 将数据库...
    99+
    2015-08-16
    Redis 持久化详解
  • Redis持久化之AOF
    背景:RDB不足之处1.耗时,耗性能生成快照文件耗时,load快照文件耗时Fork子进程网络开销写文件磁盘I/O开销 2.不可控,丢失数据会丢失最后一次快照最后操作的数据。 一、工作流程Redis写操作...
    99+
    2022-10-18
  • redis怎么持久化
    redis怎么持久化?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。redis怎么持久化1.RDB保存多份完整备份,对 IO 影...
    99+
    2022-10-18
  • Redis(四):持久化之---AOF持久化的配置和原理
    AOF持久化及AOF重写的配置:默认AOF方式是关闭的,如下图:如果要开启的话,就是把no改写成yes。如下图:默认文件名称appendonly.aof,你也可以修改文件名。默认保存目录同样也是配置文件中d...
    99+
    2022-10-18
  • redis 详解(4)持久化
    定义 redis 所有数据保存在内存中,对数据更新将异步保存到磁盘 持久化的作用 方式 说明 快照 mysql dump,redis RDB 日志 mysql binlog,redis AOF,hbase Hlog ...
    99+
    2020-07-06
    redis 详解(4)持久化
  • Redis学习之持久化
    简介 持久化是将内存中的瞬时数据,转换为存储在磁盘上的持久数据。redis是一个将数据存储在内存中的数据库,这也是它高效率的原因之一。但是将数据存储在内存,如果遇到突发事件,可能会造成数据的丢失。所以我们需要将数据持久化,等下次redis启...
    99+
    2019-03-12
    Redis学习之持久化
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作