美文网首页
Reids持久化-RDB

Reids持久化-RDB

作者: 风雪_夜归人 | 来源:发表于2023-11-01 22:24 被阅读0次

简介

持久化--将数据(如内存中的对象)保存到可永久保存的存储设备中

持久化方式

1.RDB:在指定的时间间隔内对数据进行快照存储。现将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储,是一次全量备份

2.AOF:以日志文件的形式记录服务器所处理的每一个数据更改指令,然后通过重放来恢复数据,是连续的增量备份。

RDB触发和恢复

  • 根据save m n配置规则自动触发
  • 从节点全量复制时,主节点发送rdb文件给从节点完成复制操作,主节点会触发bgsave
  • 执行debug reload时
  • 执行shutdown时,如果没有开启aof也会触发
  • 恢复方式:将备份文件(dump.rdb)移动到redis安装目录并启动服务即可

RDB在redis.con中的配置

  • save + time + n 在time秒内写入n条,即可触发快照
  • dbfilename dump.rdb 默认保存文件
  • dir ./ 保存路径
  • stop-writes-on-bgsave-erroe yes 如果持久化出错,主进程是否停止写入
  • rdbcompression yes 是否压缩
  • rdbchecksum yes 导入时是否检查

RDB-Fork原理

image.png

执行RDB时,服务器执行以下操作:

  • redis调用系统函数fork() 创建以给子进程
  • 子进程将数据集写入到一个临时RDB文件中
  • 当子进程完成对临时RDB文件写入时,reids用新的临时RDB文件替换原来的RDB文件,并移除旧文件

执行fork时,操作系统会使用写时复制(copy-on-write)策略,即fork函数发生的一刻父子进程共享同一内存数据,当父进程要更改其中某片数据(如执行一个写命令),操作系统会将该数据复制一份以保证子进程的数据不受影响。新的RDB文件存储的是执行fork那一刻的内存数据

在进行快照的过程中不会修改RDB文件,只有快照结束后才会将旧文件替换成新的。任何时候RDB文件都是完整的

RDB性能分析

优点
  • 通过rdb文件恢复数据比较快
  • rdb文件非常紧凑,适合于数据备份
  • 通过rdb进行的数据备份,由于使用子进程生成,所以对redis服务器性能影响较小
缺点
  • 采用RDB的方式可能会造成某个时段内数据丢失,比如还没达到触发条件时服务器死机,那么这个时间段内的数据就会丢失
  • 使用save命令会造成服务器阻塞,数据备份完成后才能继续进行使用
  • 使用bgsave命令在fork子进程时,如果数据量过大,forks的过程也会发生阻塞,另外,forks子进程会耗费内存

相关文章

  • Redis持久化策略与基本使用

    一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(...

  • reids 数据持久化

    一,reids 数据持久化的三种方式: 二,三种方式详解 1,RDB 2,AOF 3RDB + AOF Redis...

  • Redis--(持久化,用户认证,禁用或重命名危险命令)

    01,持久化 1.RDB持久化和AOF持久化 2.RDB持久化流程图 3.配置RDB持久化 4.RDB持久化结论:...

  • redis持久化方案

    前言 redis提供两种持久化方案: RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的R...

  • 03-redis持久化

    Redis持久化 两种方式持久化: RDB持久化 - 全量 AOF持久化 - 增量 RDB持久化 RDB文件的生成...

  • Redis缓存持久化策略

    Redis RDB持久化原理 简介:rdb持久化方案配置讲解,redis的开发者是怎么实现rdb的 rdb持久化配...

  • Redis持久化

    Redis持久化方式有两种:RDB和AOF。 1 RDB持久化 RDB(Redis Database)持久化是把当...

  • redis的持久化

    redis持久化一般支持两种方式,快照持久化(rdb)和日志持久化(aof) rdb持久化 1. rdb的配置选项...

  • Redis 持久化

    Redis 持久化 RDB RDB 持久化方式类似于快照,执行 SAVE BGSAVE命令时可以触发 RDB 持久...

  • Redis的两种持久化介绍与对比

    本文大纲: RDB和AOF两种持久化机制的介绍 RDB持久化机制的优点 RDB持久化机制的缺点 AOF持久化机制的...

网友评论

      本文标题:Reids持久化-RDB

      本文链接:https://www.haomeiwen.com/subject/bidmidtx.html