最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

redis数据持久化之RDB

来源:动视网 责编:小采 时间:2020-11-09 06:53:27
文档

redis数据持久化之RDB

redis数据持久化之RDB:和Memcache不同的是,Redis能够让数据持久化到硬盘中。Redis目前提供三种持久化方式,RDB、AOF、RDB-AOF混合持久化。数据的安全及备份是运维工作中的重点,下面来看看这RDB持久化的介绍及应用场景。Redis默认使用的持久化方式是RDB,RDB文件占用空间很
推荐度:
导读redis数据持久化之RDB:和Memcache不同的是,Redis能够让数据持久化到硬盘中。Redis目前提供三种持久化方式,RDB、AOF、RDB-AOF混合持久化。数据的安全及备份是运维工作中的重点,下面来看看这RDB持久化的介绍及应用场景。Redis默认使用的持久化方式是RDB,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文件生成流程

    因为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

    redis数据持久化之RDB:和Memcache不同的是,Redis能够让数据持久化到硬盘中。Redis目前提供三种持久化方式,RDB、AOF、RDB-AOF混合持久化。数据的安全及备份是运维工作中的重点,下面来看看这RDB持久化的介绍及应用场景。Redis默认使用的持久化方式是RDB,RDB文件占用空间很
    推荐度:
    标签: redis RDB 持久化
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top