返回顶部
首页 > 资讯 > 数据库 >redis中RDB数据持久化的使用方法和应用场景
  • 860
分享到

redis中RDB数据持久化的使用方法和应用场景

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

和Memcache不同的是,Redis能够让数据持久化到硬盘中。Redis目前提供三种持久化方式,RDB、AOF、RDB-AOF混合持久化。数据的安全及备份是运维工作中的重点,下面来看看这RDB持久化的介绍

和Memcache不同的是,Redis能够让数据持久化到硬盘中。Redis目前提供三种持久化方式,RDB、AOF、RDB-AOF混合持久化。数据的安全及备份是运维工作中的重点,下面来看看这RDB持久化的介绍及应用场景。

Redis默认使用的持久化方式是RDB,RDB文件占用空间很小,所以生成文件速度及加载都很快。

生成RDB文件

生成RDB文件分为手动方式以及自动方式

首先看手动方式,有两个命令可以触发生成RDB文件。save及bgsave,他们的区别是save操作会阻塞redis,直到RDB文件生成结束。而bgsave,则不会阻塞redis,它会fork出一个子进程,在子进程中完成rdb文件的生成。

自动方式则又有几种情况,分别如下:

  • 当前键的修改操作达到redis中Rdb的配置要求

  • 主从节点进行全量复制的时候

  • 重启或关闭redis的时候(Redis持久化方式为RDB)

这里,我们重点来看下rdb的相关配置。

rdb文件保存的目录是有dir配置项决定的

# rdb文件保存目录
dir "/usr/local/redis/var"

而文件名则是由dbfilename决定

dbfilename "dump.rdb"

触发机制则有save项决定

save 900 1
save 300 10
save 60 10000

上面的配置的含义是,当900秒内有1次修改操作就触发、当300秒内用10次修改操作就触发,当60秒内有10000次修改操作就触发。

另外rdbcompression配置项就决定是否压缩rdb文件,默认为yes,表示压缩,这也是推荐的方式。

RDB文件生成流程

redis中RDB数据持久化的使用方法和应用场景

因为save几乎已经废弃,redis自动触发都是采用bgsave操作,所以这里只介绍bgsave的流程。

  1. 当执行bgsave时候,如果当前已有子进程的话,那么redis就会直接退出,不执行下面的操作。没有则往下执行。

  2. redis主进程会fork出一个子进程。fork的时候会阻塞redis,但时间非常短。

  3. fork成功后,redis主进程继续做自己该做的事。

  4. 子进程生成新的RDB文件,并替换旧的rdb文件。

  5. 当替换操作完成后,子进程会通知父进程,父进程就会保存此次操作的相关信息。

应用场景

RDB文件体积小,生成及加载快,但是rdb持久化方式不能做到实时持久化,异常情况下容易导致数据丢失。另外,不同版本的rdb文件可能存在不兼容的情况。

通过上面的介绍,可以知道,RDB文件非常适合做容灾备份,比如每天凌晨生成RDB文件。另外,如果redis里存放的数据不是太重要,比如使用redis做缓存,丢失部分数据没有影响的话,使用RDB通常是更佳的方式。

再介绍一个常见的问题的解决方法,redis数据存放的分区快要写满时,如何在不停止redis下将数据写到另一个分区中。我们可以使用config set dir '新分区目录' 修改rdb文件存放的目录。然后执行bgsave生成新的RDB文件到新的目录中。

以上就是redis数据持久化之RDB的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: redis中RDB数据持久化的使用方法和应用场景

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

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

猜你喜欢
  • redis中RDB数据持久化的使用方法和应用场景
    和Memcache不同的是,Redis能够让数据持久化到硬盘中。Redis目前提供三种持久化方式,RDB、AOF、RDB-AOF混合持久化。数据的安全及备份是运维工作中的重点,下面来看看这RDB持久化的介绍...
    99+
    2024-04-02
  • redis数据持久化的实现方法
    小编给大家分享一下redis数据持久化的实现方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Redis实现数据持久化的两种实现方式:RDB:指定的时间间隔内保存数据快照AOF:先把命令追加到...
    99+
    2024-04-02
  • 如何使用Go和Redis进行数据持久化
    如何使用Go和Redis进行数据持久化引言:在现代应用开发中,数据持久化是非常重要的一环。数据库是最常见的数据持久化解决方案,但有时候,我们也需要使用键值存储来对应用程序的数据进行存储和访问。Redis是一个流行的键值存储系统,它具有快速、...
    99+
    2023-10-26
    Go语言 redis 数据持久化
  • redis数据持久化的方法是什么
    Redis数据持久化有两种主要的方法: RDB持久化(Snapshotting):通过定期将内存中的数据快照写入到磁盘上的RDB...
    99+
    2024-04-02
  • Redis的数据类型和应用场景介绍
    1.string类型...
    99+
    2024-04-02
  • 如何使用Redis实现数据持久化
    如何使用Redis实现数据持久化引言Redis是一种快速、高效的内存数据库,但默认情况下它的数据是存储在内存中的。这就意味着一旦服务器断电或重启,Redis中的数据将会丢失。为了解决这个问题,Redis提供了一些机制来实现数据的持久化。本文...
    99+
    2023-11-07
    数据 redis 持久化
  • Redis数据库的应用场景介绍
    一、MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,...
    99+
    2022-06-04
    场景 数据库 Redis
  • Redis的数据结构及应用场景
    一. 谈谈对redis的理解,它的应用场景。Redis是一个key-value存储系统,它支持存储的value类型包括string字符串、list链表、set集合、sorted Set有序集合和hash哈希等数据类型。这些数据类型都支持pu...
    99+
    2023-06-02
  • 队列的消息持久化和消息验证在PHP与MySQL中的应用场景
    引言队列是一个常用的应用程序组件,它可以用于在不同的系统之间传递消息。在复杂的系统架构中,消息队列可以起到解耦系统组件、提高系统可靠性和性能的作用。本文将介绍队列的消息持久化和消息验证在PHP与MySQL中的应用场景,并提供具体的代码示例。...
    99+
    2023-10-21
    队列 消息持久化 消息验证
  • 队列的消息持久化和消息去重在PHP与MySQL中的应用场景
    队列是一种常见的数据结构,在软件开发中被广泛应用于异步消息处理、任务调度、日志收集等场景。其中,消息持久化和消息去重是队列的两个重要特性,能够保证消息的可靠性和数据的一致性。在PHP和MySQL中,队列的应用可以通过Redis作为消息中间件...
    99+
    2023-10-21
    队列 (Queue) 消息持久化 (Message persistence) 消息去重 (Message dedupli
  • redis数据库的应用场景有哪些
    Redis数据库有以下应用场景:1. 缓存:由于Redis具有高速读取和写入的能力,可以用作缓存数据库,将热门的数据存储在Redis...
    99+
    2023-09-21
    redis数据库
  • Redis 的基本数据类型 和 基础应用场景
    1. 获取中奖用户ID,随机弹出之后集合中就不存在了【set】 2. 存储活动中中奖的用户ID,保证同一个用户不会中奖两次【set】 3. 存储粉丝列表,value 为粉丝的用户ID,score 是关注时间【zset】 4...
    99+
    2018-08-10
    Redis 的基本数据类型 基础应用场景
  • Redis中5种数据结构的使用场景
    这篇文章给大家分享的是有关Redis中5种数据结构的使用场景的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。一、redis 数据结构使用场景原来看过 redisbook 这本书,对...
    99+
    2024-04-02
  • 怎么使用快照和AOF将Redis数据持久化到硬盘中
    这篇文章主要介绍“怎么使用快照和AOF将Redis数据持久化到硬盘中”,在日常操作中,相信很多人在怎么使用快照和AOF将Redis数据持久化到硬盘中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2024-04-02
  • Redis在大数据处理中的作用及应用场景
    标题:Redis在大数据处理中的作用及应用场景引言:随着互联网的快速发展,数据量也在不断增长。对于大数据的处理和存储成为了一个重要的问题。在这个过程中,Redis作为一种高性能的内存缓存数据库,发挥了重要的作用。本文将详细介绍Redis在大...
    99+
    2023-11-07
    高性能 实时数据处理 数据持久化 作用: 缓存 应用场景: 分布式计算
  • Python中使用len函数的用法和常见应用场景
    Python中len函数的用法和应用场景 在Python中,len函数是用于获取对象的长度或项数的内置函数。len函数主要用于字符串、列表、元组、字典和集合等数据类型,通过返回一个整数来表示对象的长度或者项数。在本文中,我们将详...
    99+
    2024-01-13
  • 浅谈redis五大数据结构和使用场景
    老规矩,先抛结论后验证 string:有点像java的hashMap,存的时候什么key,取的时候也什么key,常用于做缓存,保存用户信息、查询列表等; hash:这个有点像h...
    99+
    2024-04-02
  • redis中有哪些实现数据持久化的方式
    redis中实现数据持久化的方式有:1.RDB方式,通过快照实现数据持久化;2.AOF方式,以日志的形式实现数据持久化;redis中实现数据持久化的方式有以下两种RDB方式RDB方式是通过快照的方式实现数据持久化,当符合一定条件时,redi...
    99+
    2024-04-02
  • CSS单位的应用方法和场景
    这篇文章主要介绍“CSS单位的应用方法和场景”,在日常操作中,相信很多人在CSS单位的应用方法和场景问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS单位的应用方法和场景”...
    99+
    2024-04-02
  • Mesos:数据库使用的持久化卷
    摘要: Mesos为很多不同的用户场景都提供了精妙的,考虑周全的API。持久化卷是由新的acceptOffers API引入的特性。持久化卷让用户可以为Mesos构建数据库框架,Mesos可以在任...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作