返回顶部
首页 > 资讯 > 数据库 >Redis持久化之RDB快照
  • 605
分享到

Redis持久化之RDB快照

2024-04-02 19:04:59 605人浏览 八月长安
摘要

什么是RDB?1.Redis数据存储在内存中,通过save或bgsave可以在硬盘上创建一个rdb的二进制文件。这个rdb文件相当于redis的数据的快照。2.Redis 重启后,会将硬盘中rdb文件内容

什么是RDB?
1.Redis数据存储在内存中,通过save或bgsave可以在硬盘上创建一个rdb的二进制文件。这个rdb文件相当于redis的数据的快照。
2.Redis 重启后,会将硬盘中rdb文件内容载入内存中。
3.rdb还可以作为复制文件传输的媒介。如redis主从复制就是通过rdb传输的。

触发RDB的三种方式

一、save命令

1.save指令同步创建快照。

Redis客户端发送save命令,redis server会将内存中的所有数据打包,在硬盘上创建rdb文件并保存数据。

2.save同步阻塞其他客户端请求。

因redis是单线程,在执行save创建rdb文件时,会阻塞其他redis客户端的请求。当rdb创建完成时,阻塞结束。

Redis持久化之RDB快照

二、bgsave命令

1.bgsave异步创建快照

客户端发送bgsave 命令,redis server 会fork一个子进程,子进程将redis server内存中的数据打包到硬盘中的rdb文件中。

2.bgsave异步非阻塞

redis服务端在fork子进程的过程中,会短时间阻塞其他客户端请求(时间较短,可以忽略不计),子进程创建完成就不会阻塞其他客户端的请求。子进程创建成功后异步创建rdb文件,并在保存完成之后向主进程发送信号,通知保存已完成。fork子进程的过程会很快,fork子进程会消耗额外内存。

如图所示,进程名称为redis-rdb-bgsave
Redis持久化之RDB快照


三、自动触发
redis.conf中创建快照的配置

save 900 1
save 300 10
save 60 10000

四、文件生成策略

先生成临时文件,待快照创建完成时,用临时文件区替换替换dump.rdb文件。

Redis持久化之RDB快照


五、其他触发机制
1.master/slave需要进行全量复制时,master服务会进行bgsave操作
2.debug reload 调试重启
3.执行shutdown时


RDB的特征:
优点:
1.适合大规模的数据恢复,对数据完整性和一致性要求不高。

缺点:
1.redis间隔一段时间进行创建rdb快照,如果再最后一次创建快照后宕机,最后一次快照之后所修改的数据将丢失。

2.bgsave操作(包含自动触发创建rdb)在fork子进程进行创建rdb快照,会拷贝一份内存中的数据,会消耗一定量的内存。

动态关闭自动创建快照

127.0.0.1:6379>config save ""

查看rdb文件位置

127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/var/lib/redis"

redis.conf中与rdb相关配置

#指定rdb文件名

dbfilename dump-${port}.rdb

#指定数据存储目录(工作目录)

dir ./

#bgsave发生错误时,停止写入数据

stop-writes-on-bgsave-error yes

#采用压缩方式记录数据

rdbcompression yes

您可能感兴趣的文档:

--结束END--

本文标题: Redis持久化之RDB快照

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

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

猜你喜欢
  • Redis持久化之RDB快照
    什么是RDB?1.Redis数据存储在内存中,通过save或bgsave可以在硬盘上创建一个rdb的二进制文件。这个rdb文件相当于redis的数据的快照。2.Redis 重启后,会将硬盘中rdb文件内容...
    99+
    2024-04-02
  • Redis之--rdb持久化
    持久化:通俗讲,下次开机还有数据,断电后不会丢失数据,存放于磁盘。 Redis:rdb快照持久化每隔N分钟或N次写操作后,从内存dump数据形成RDB文件。压缩,放在备份目录。 参数详解:从下往上看save...
    99+
    2024-04-02
  • 图解Redis,谈谈Redis的持久化,RDB快照与AOF日志
    目录 专栏导读 一、RDB持久化 1、自动触发 2、手动触发 3、设置保存条件 4、加解密 5、R...
    99+
    2023-09-21
    redis 数据库 分布式
  • Redis的持久化RDB
    dbfilename redis.db  //持久化的文件dir /home/redis/6379    //文件所在目录save 900 1  ...
    99+
    2024-04-02
  • Redis持久化:rdb与aof
    [TOC] Redis 默认支持持久化,依据自己的方式,将缓存在内存中的数据存储在磁盘上! Redis支持两种持久化数据的方式。第一种持久化方法为时间点转储(point-in-time dump),转储操作既可以在“指定时间段内有...
    99+
    2021-09-25
    Redis持久化:rdb与aof
  • Redis持久化配置(rdb,aof)
    Redis的持久化有2种方式 1快照 2是日志 Rdb快照的配置选项(内存中的快照写入磁盘速度更快) 配置文件:save 900 1 // 900秒内,有1条写入,则产生快照 save 30...
    99+
    2024-04-02
  • Redis如何配置快照持久化
    本篇内容介绍了“Redis如何配置快照持久化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!redis持久化整体上来说,redis持久化有两种...
    99+
    2023-06-19
  • redis中的快照持久化是什么
    redis中的快照持久化是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis为了内部数据的安全考虑,会把本身的数据以文件形式保存...
    99+
    2024-04-02
  • Redis持久化存储(AOF与RDB)
    Redis持久化存储 一部分转自: https://blog.csdn.net/canot/article/details/52886923 不能说的秘密的博客 求知若饥,虚心若愚 一部分来自: http://redis.io/topics...
    99+
    2015-06-04
    Redis持久化存储(AOF与RDB)
  • 就这?Redis持久化策略——RDB
    Redis之所以快,一个最重要的原因在于它是直接将数据存储在内存,并直接从内存中读取数据的,因此一个绝对不容忽视的问题便是,一旦Redis服务器宕机,内存中的数据将会完全丢失。本文讲解Redis持久化策略...
    99+
    2020-07-30
    就这?Redis持久化策略——RDB
  • redis的RDB持久化是什么
    Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。这...
    99+
    2024-04-02
  • Redis--持久化RDB和AOF原理
    前言: redis持久化方式分为两种:RDB快照和AOF方式(默认为RDB模式),当Redis服务器重启的时候,会自动恢复数据,优先从AOF中恢复,其次才从RDB中恢复  一、RDB快照模式 R...
    99+
    2024-04-02
  • 进阶的Redis之数据持久化RDB与AOF
    大家都知道,Redis之所以性能好,读写快,是因为Redis是一个内存数据库,它的操作都几乎基于内存。但是内存型数据库有一个很大的弊端,就是当数据库进程崩溃或系统重启的时候,如果内存数据不保存的话,里面的数...
    99+
    2024-04-02
  • Redis学习笔记(八) RDB持久化
    Redis是内存数据库,它将自己的数据库状态存储在内存里面,所以如果不想办法将存储在内存中的数据库状态保存到磁盘,那么服务器 进程一旦退出,服务器中的数据库状态也会消失不见。 为了解决这个问题,Redis提供了RDB持久化功能,这...
    99+
    2019-01-14
    Redis学习笔记(八) RDB持久化
  • 【赵强老师】Redis的RDB持久化
    Redis 提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。 AOF (Append-only file)持久化记录服务器执行的所...
    99+
    2014-05-30
    【赵强老师】Redis的RDB持久化
  • Redis之持久化
    redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。redis支持两种持久化方式: 1、snapshotting(快照)也是默认方式。将内存中的数据以快照...
    99+
    2024-04-02
  • redis两种持久化方式RDB和AOF
    目录 前言 1. Redis 数据库结构 2. RDB 持久化 2.1. RDB 的创建和载入 2.1.1. 手动触发保存 SAVE 命令 BGSAVE 命令 SAVE 和 BGSAVE 的比较 2.1.2. 自动触发保...
    99+
    2021-05-11
    redis两种持久化方式RDB和AOF
  • Redis持久化方案RDB和AOF(理论)
    redis和memcache的区别是什么?    简单来说,如果没有持久化的redis,就和memcache一样了,相当于一个缓存数据库。redis是如何解决数据持久化的?    redis有两种持久化方案...
    99+
    2024-04-02
  • Redis持久化方式RDB与AOF详解
    前言Redis提供了两种数据存储方式,分别是:cache-only && persistence;cache-only顾名知义,是用与缓存服务的,数据在服务器终止后将消失,在此模式下将不存在...
    99+
    2024-04-02
  • redis中RDB和AOP持久化是什么
    小编给大家分享一下redis中RDB和AOP持久化是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!redis是一个内存数据库...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作