• Redis系统学习之持久化(RDB)


    Redis持久化

    主要还是为了对付面试吧~

    Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦宕机,或者redis进程挂掉,服务器中的数据库状态也会消失,所以Redis提供了持久化功能!

    RDB(Redis DataBase)

    • 什么是Rdb?
    • image.png
    • 在指定的时间间隔内,将内存中的数据集快照写入磁盘,也就是快照,他恢复时是直接将快照加载到内存,类似于VM的快照,就是时间线中的一个点
    • Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入一个临时文件中,等持久化过程都结束了,在用这个 临时文件替换上一个持久化文件也就是快照文件,整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能,如果需要进行大规模的数据恢复,且对于数据恢复的完成性不是很敏感,那么RDB方式要比AOF更加高效,RDB的缺点就是最后一次持久化到宕机期间的数据可能会丢失.
    • 一般情况下,默认使用使用DRB就可以了,不需要修改;
    • rdb保存的文件名称为 dump.rdb,在上面的配置文件中有看到过
    • image.png
    • 如何恢复rdb文件
    • 将dump.rdb放入到dump.rdb的指定位置就可以了,在redis启动的时候会自动读取,位置和名字可以在配置文件中查看,具体在那个位置,看上面面面的,配置文件详解->快照配置(持久化配置)
    • RDB的优缺点(来自小姐姐的面试题67)
    • RDB:Redis DataBase
    • 在指定时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后再替换之前的文件,用二进制压缩存储。
    • 优点
      • 整个redis数据库将只包含一个文件dump.rdb,方便持久化
      • 容灾性好,方便备份
      • IO最大化,使用单独子进程来进行持久化,主进程不会进行任何IO操作,保证redis的性能
      • 相对于数据集大时,比AOF启动效率高
    • 缺点
      • 数据安全性低,RDB间隔一段时间进行持久化,若期间redis发生故障,则数据丢失,适合数据要求不严谨的时候。
      • 当数据集较大时,子进程会持续占用cpu资源,可能会导致整个服务器停止几百毫秒甚至1秒。

    作者:彼岸舞

    时间:202155

    内容关于:Redis

    本文属于作者原创,未经允许,禁止转发

  • 相关阅读:
    HTML常用标签(自用,可能不严谨,勿怪)
    Nginx负载均衡和反向代理设置
    Django的列表反序
    Python装饰器通用样式
    WCF、Web API、WCF REST、Web Service的区别
    C++11 标准新特性: 右值引用与转移语义
    在windows下vs使用pthread
    部分浏览器记住密码后可能会带来的问题
    SQL Server、 My SQL、PG Sql、Oracle、 Access 不同数据库sql差异
    sql中select语句的逻辑执行顺序
  • 原文地址:https://www.cnblogs.com/flower-dance/p/14731183.html
Copyright © 2020-2023  润新知