redis持久化之RDB

这篇具有很好参考价值的文章主要介绍了redis持久化之RDB。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 什么是RDB:

RDB(Redis DataBase):RDB 持久性以指定的时间间隔执行数据集的时间点快照。
说人话:实现类似照片记录效果的方式,把某一时刻的数据和状态以文件的形式写到磁盘上,也就是快照,恢复时再将硬盘快照文件直接读回到内存里。
这样一来,即使故障宕机,快照文件也不会丢失,数据的可靠性也就得到了保证。这个快照文件就称为RDB文件(dump.rdb)。

2. 修改配置文件:

2.1 查询redis7原始配置文件:

redis持久化之RDB

要注意的一点是redis7相比于redis6在快照的时间间隔上和修改频次是变化较大的
redis持久化之RDB

2.2 将时间间隔和频次修改为5秒2次:

redis持久化之RDB

2.3 修改rdb文件的保存路径已经文件名(方便自己查找):

默认路径为:/usr/local/redis
redis持久化之RDB
修改为:
redis持久化之RDB

注意:这里修改路径可能会出现问题:

redis持久化之RDB
解决方法是dir /myredis/dumpfiles 改成 dir ./myredis/dumpfiles

默认文件名:
redis持久化之RDB
修改为:
redis持久化之RDB
修改成功:
redis持久化之RDB

3. 触发备份:

3.1 自动触发:

5秒钟修改2次自动触发(两个条件都要满足,即时间间隔大于等于5秒,修改次数大于等于2次
redis持久化之RDB

redis持久化之RDB

3.2 备份恢复:

在启动服务时,redis自动根据rdb文件进行备份。
有两种特殊情况,当执行flushall/flushdb(这种情况生成的rdb文件即为空,没有意义)或者退出客户端,redis自动会生成一个当下最新的rdb文件。
具体实践参考https://www.bilibili.com/video/BV13R4y1v7sP?p=31&vd_source=a579082d717747b1e99fe189207e7c29

注意:不可以把备份文件dump.rdb和生产redis服务器放在同一台机器,必须分开各自存储,以防生产机物理损坏后备份文件也挂了。
3.3 手动触发:
两个命令:save(线上生产禁用)和bgsave(默认)

save在主程序中执行会阻塞当前redis服务器直到持久化工作完成,执行save命令期间,redis不能处理其他命令,非常严重的问题,线上禁止使用
bgsave命令会在后台异步进行快照操作,这个操作是fork(即产生一个和父进程完全相同的子进程)出一个子进程在后台完成的不阻塞,快照同时还可以响应客户端请求。

4. RDB的优势与缺点:

4.1 优势:

1)适合大规模的数据恢复
2)适合按照业务定时备份
3)对数据完整性和一致性不高
4)RDB文件在内存中的加载速度比AOF快得多

4.2 缺点:

1)在一定时间间隔内做备份,如果redis意外发生宕机,如断电,则会丢失当前至最近一次快照之间的数据
具体实践参考https://www.bilibili.com/video/BV13R4y1v7sP?p=33&vd_source=a579082d717747b1e99fe189207e7c29
2)RDB需要经常fork出一个子进程在磁盘上持久化,如果数据量很大则会导致I/O严重影响服务器性能

5. 检查修复dump.rdb文件:

在rdb文件迁移或者写入过程中都有可能发生数据损坏,这些数据损坏很可能使整个rdb文件不可用,所以需要尝试检查并修复。
先进入/usr/local/redis/bin,使用里面的redis-check-rdb进行rdb文件检查修复:
redis持久化之RDB
修复成功:
redis持久化之RDB
如果修复不了,那只能自认倒霉了。。。

6. RDB快照禁用:

1)redis-cli set save ""
2) 修改配置文件:save 5 2 --> save "" (推荐)文章来源地址https://www.toymoban.com/news/detail-440824.html

到了这里,关于redis持久化之RDB的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Redis】Redis持久化机制

    Redis是基于内存存储的数据库,如果遇到服务重启或者崩溃,内存中的数据将会被清空。所以为了确保数据安全性和可靠性,我们需要将内存中的数据持久化到磁盘上。 持久化不仅可以防止由于系统故障、重启或者其他原因导致的数据丢失。还可以用于备份、数据恢复和迁移

    2023年04月20日
    浏览(62)
  • Redis系列--redis持久化

    redis本身运行时数据保存在内存中,如果不进行持久化,那么在redis出现非正常原因宕机或者关闭redis的进程或者关闭计算机后数据肯定被会操作系统从内存中清掉。当然,redis本身默认采用了一种持久化方式,即RDB (Redis DataBase),可以在redis的目录中找到dump.rdb文件,这就是

    2024年02月05日
    浏览(44)
  • 【Redis】Redis持久化方式

    Redis 中有两种持久化方式,分别为 RDB 和 AOF 。 RDB 全称 Redis Database Backup file ,也叫做 Redis 数据快照。简单来说就是把 Redis 中的数据记录到磁盘中。当 Redis 实例故障重启后,从磁盘读取快照文件,恢复数据。 RDB有两种备份方式,一种是主动备份,一种是Redis 内部执行备份 主

    2024年02月02日
    浏览(36)
  • Redis进阶 - Redis持久化

    原文首更地址,阅读效果更佳! Redis进阶 - Redis持久化 | CoderMast编程桅杆 https://www.codermast.com/database/redis/redis-advance-persistence.html 单点Redis的问题 数据丢失问题:Redis 是内存存储,服务重启可能会丢失数据。通过 实现 Redis 数据持久化解决。 并发能力问题:单节点 Redis 并发能力

    2024年02月10日
    浏览(43)
  • redis持久化【RDB+AOF】持久化双雄

    这是redis系列文章之《redis持久化【RDB+AOF】持久化双雄》,上一篇文章【redis基础】redis的十大数据类型_努力努力再努力mlx的博客-CSDN博客 感谢大家的支持~ 目录 RDB 什么是RDB RDB的作用 配置文件关于RDB部分  6vs7 操作步骤 修改配置文件(本案例设置5s修改2次) 修改dump文件的保

    2024年02月08日
    浏览(73)
  • Redis两种持久化方案RDB持久化和AOF持久化

    Redis持久化 Redis有两种持久化方案: RDB持久化 AOF持久化 1.1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件

    2024年02月14日
    浏览(49)
  • 【Redis19】Redis进阶:持久化策略

    从最早接触 Redis 开始,我们就知道它是一个内存数据库,这是它的优势,也是它的劣势。为啥这么说呢?内存速度快,但是断电或者重启即丢。然而,要做为一个生产环境所能使用的数据库系统,将数据持久化就成为了一个必要的能力。毕竟我们可不想重启 Redis 之后,每个

    2024年02月03日
    浏览(81)
  • 【Redis二】Redis优化之持久化

    在web服务器中, 高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务 (99.9%、99.99%、99.999%等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术), 还需要考虑数据容量的扩展、数据

    2024年02月11日
    浏览(39)
  • 面试redis篇-06Redis持久化

    在Redis中提供了两种数据持久化的方式:1、RDB   2、AOF 全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据 RDB的执行原理 bgsave开始时会fork主进程

    2024年02月21日
    浏览(36)
  • Redis 持久化

    默认情况下,redis 工作时所有数据都是存储于内存中的,不论是否有磁盘上的持久化数据,都是工作于内存当中,redis 本身就是一个内存的数据库,如果 redis 崩溃或断电导致所有数据丢失,所以 redis 提供了持久化功能来保证数据的可靠性, redis 持久化有两种实现:RDB 和 A

    2024年01月18日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包