zoukankan      html  css  js  c++  java
  • redis---- 持久化( rdb,aof )

    redis---- 持久化( rdb,aof )

    面试和工作,持久化都是重点!
    Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能!

    一:RDB(Redis DataBase)

      1.什么是RDB

      在主从复制中,rdb就是备用了!从机上面!

      在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。
      Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。
    这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。我们默认的就是
    RDB,一般情况下不需要修改这个配置!有时候在生产环境我们会将这个文件进行备份!rdb保存的文件是dump.rdb 都是在我们的配置文件中快照中进行配置的!

      2.触发机制

      在以下三种情况下,备份就自动生成一个 dump.rdb

    1. save的规则满足的情况下,会自动触发rdb规则
    2. 执行 flushall 命令,也会触发我们的rdb规则!
    3. 退出redis,也会产生 rdb 文件!

      

       3.如何恢复rdb文件

    1. 只需要将rdb文件放在我们redis启动目录就可以,redis启动的时候会自动检查dump.rdb 恢复其中的数据!

    2. 查看需要存在的位置

    127.0.0.1:6379> config get dir
    1) "dir"
    2) "/usr/local/bin"     # 如果在这个目录下存在 dump.rdb 文件,启动就会自动恢复其中的数据

      4.几乎就他自己默认的配置就够用了,但是我们还是需要去学习!

    • 优点
    1. 适合大规模的数据恢复!
    2. 对数据的完整性要不高!
    • 缺点
    1. 需要一定的时间间隔进程操作!如果redis意外宕机了,这个最后一次修改数据就没有的了!
    2. fork进程的时候,会占用一定的内容空间!!

     二:AOF(稍后更新)

     

  • 相关阅读:
    LVDS汇总
    smtp模块+Gmail搭建邮件发送功能
    网站建立(杂)
    xampp部署elgg
    转xampp 访问出现New XAMPP security concept
    FPGA参考电源
    android开发环境搭建问题
    cadence仿真前电路板设置(转)
    cadence串扰仿真 (转)
    cadence约束管理器总体设置 (转)
  • 原文地址:https://www.cnblogs.com/cbpm-wuhq/p/12738034.html
Copyright © 2011-2022 走看看