Redis的持久化-RDB

Redis的持久化-RDB

大家好,又见面了,我是全栈君。

点击上方“码农编程进阶笔记”,选择“置顶或者星标

优质文章第一时间送达!

Redis优秀的性能是由于其将所有的数据都存储在内存中,同样memcached也是这样做的,但是为什么Redis能够脱颖而出呢,很大程度上是因为Redis有出色的持久化机制,能够保证服务器重启后,数据不会丢失。下面来看看Redis是如何持久化的。

Redis支持两种方式的持久化,一种是RDB方式,一种是AOF方式。这两种方式可以单独使用其中一种,或者混合使用。

RDB方式介绍

RDB方式是通过快照完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照,并且存储到硬盘上。就像拍照一样,将这一瞬间的所有东西都保存下来。进行快照的条件在配置文件中指定。主要有两个参数构成:时间和改动的键值的个数,即当在指定时间内被更改的键的个数大于执行数值时,就会进行快照。RDB是Redis的默认持久化方式。

RDB方式配置

找到Redis的配置文件:redis.conf

1) 设置触发条件:

Redis的持久化-RDB

Redis的持久化-RDB

2) 设置rdb文件路径

默认rdb文件存放路径是当前目录,文件名是:dump.rdb。可以在配置文件中修改路径和文件名,分别是dir和dbfilename

Redis的持久化-RDB

Redis启动后会读取RDB快照文件,将数据从硬盘载入到内存,一般情况下1GB的快照文件载入到内存的时间大约20-30分钟。

RDB如何进行快照

RDB的快照过程:

1) Redis使用fork函数复制一份当前进程(父进程)的副本;

2) 父进程继续接受并处理客户端发来的命令,而子进程开始将内存中的数据写入到硬盘中的临时文件;

3) 当子进程写入完成所有数据后会用该临时文件替换旧的RDB文件。

手动快照:

如果没有触发自动快照,可以对redis进行手动快照操作,SAVE和BGSAVE都可以执行手动快照,两个命令的区别是前者是由主进程进行快照操作,会阻塞其他请求;而后者是通过fork子进程进行快照操作。

注意:

由于redis使用fork来复制一份当前进程,那么子进程就会占有和主进程一样的内存资源,比如说主进程8G内存,那么在备份的时候必须保证有16G内存,要不然会启用虚拟内存,性能非常差。

RDB文件的压缩

RDB文件过大时,是可以压缩的,Redis默认开启压缩,当然也可以通过配置rdbcompression参数来禁用压缩。

Redis的持久化-RDB

压缩和不压缩的优缺点:

压缩:

优点:减少磁盘存储空间
缺点:消耗CPU资源

不压缩:

优点:不消耗CPU资源
缺点:占用磁盘空间多

如何选择?那就需要看需求、看服务器资源情况了。

关于RedisRDB方式持久化就介绍到这,下一篇将介绍AOF方式怎么进行持久化,并且对比两种方式有何优缺。

Redis的持久化-RDB

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111994.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月12日 上午6:00
下一篇 2022年2月12日 上午6:00


相关推荐

  • DDD中的建模方法有哪些[通俗易懂]

    DDD中的建模方法有哪些[通俗易懂]一、背景在之前的文章中已经介绍了DDD相关的概念模式,DDD相关的业务技术架构,但是我们还没有找到一个核心的抓手去实践DDD。DDD的一个核心本质就是对业务建模,或者领域建模。说的很简单,但是做好确实很难,一个需求过来意淫几个实体对象就差不多解决了。深入看,全局看只在脑海中进行的建模实际上并不一定正确和稳定。因此我们需要找到正确的方法帮助对业务领域进行分析,得到建模结构,共享建模成果。二、四色建模法2.1起源&概念&要素关于四色建模的概念我们可与追溯到90年代,起源于四色原型。四色

    2025年12月1日
    7
  • [R语言学习笔记1] R语言for循环的使用

    [R语言学习笔记1] R语言for循环的使用学习 R 语言的过程中 后期逐渐就会用循环语句来减少自己的重复工作 所以了解 for 循环 是必备技能之一 R 语言中的 for 循环结构是 for 循环变量 in 序列向量 表达式 1 表达式 2 要注意的是 括号里面一个是循环变量 另外一个是序列向量下面展示一个简单的例子 输出十个 我爱中国 的字符串代码如下 gt a lt 1 gt for iin1 10 print 我爱中国 输出的结果如下 1

    2026年3月19日
    2
  • linux中快速清空文件内容的几种方法

    linux中快速清空文件内容的几种方法

    2021年10月27日
    47
  • mm理论怎么通俗理解_通俗易懂的理解三观

    mm理论怎么通俗理解_通俗易懂的理解三观讲这个之前,先讲一下什么叫对称加密,什么叫非对称加密:通俗理解:对称加密,一个盒子,两把钥匙,两把钥匙都可以锁和开锁。非对称加密,一个盒子,一个私人钥匙,很多公共的钥匙。两种情况:1,私人的钥匙能锁能开锁,公共的钥匙,只能开锁,不能上锁2,私人的钥匙能锁能开锁,公共的钥匙,只能上锁,不能开锁改革春风吹进家,江南贸易遍开花。随着改革开放的推进,小K家里的生意也越做越好,正洽迎上互联网的…

    2022年10月2日
    5
  • ‌360推安全龙虾智能体,应对OpenClaw四大难题

    ‌360推安全龙虾智能体,应对OpenClaw四大难题

    2026年3月16日
    2
  • Gemini 2.5 Flash Image API 接入指南:Nano Banana 正式版快速上手教程

    Gemini 2.5 Flash Image API 接入指南:Nano Banana 正式版快速上手教程

    2026年3月15日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号