• redis 持久化之rdb总结


    1. rdb

     

    1.1 rdb 概念
    在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话的SnapShot快照,它恢复时是将快照文化直接读到内存里

     

    1.2 rdb 工作机制
    每隔一段时间,就把内存中的数据保存到硬盘上的指定文件中

     

    1.3 rdb是默认开启的

     

    1.4 rdb的持久化过程
    redis会单独创建一个子进程来进行持久化,先将数据写入到一个临时文件中,等到持久化
    过程都结束了,再用这个临时文件替换上次持久化好的文件,整个过程中,主进程不进行任何IO操作,这就确保了极高的性能。

     

    1.5 rdb的优缺点
    优点:数据恢复规模大,恢复完整性不敏感时,rdb比AOf更加高效
    缺点:最后一次持久化的数据可能丢失

     

    1.6 rdb的保存策略
    save 900 1 900 秒内如果至少有 1 个 key 的值变化,则保存
    save 300 10 300秒内如果至少有 10 个 key 的值变化,则保存
    save 60 10000 60秒内如果至少有 10000 个 key 的值变化,则保存
    save “” 就是禁用 RDB 模式;

     

    1.7 RDB的常用属性配置

    属性含义备注
    save 保存策略  
    dbfilename rdb快照文件名  
    dir rdb快照保存的目录 必须是一个目录,不能是文件名
    stop-writes-on-bgsaveerror 是否在备份出错时,继续接受写操作 如果用户开启了 RDB 快照功能,那么在redis 持久化数据到磁盘时如果出现失败,默认情况下,redis 会停止接受所有的写请求
    rdbcompression 对于存储到磁盘中的快照,可以设置是否进行压缩存储 如果是的话,redis 会采用 LZF 算法进行压缩。如果你不想消耗 CPU 来进行压缩的话,可以设置为关闭此功能,但是存储在磁盘上的快照会比较大。
    rdbchecksum 是否进行数据校验 在存储快照后,我们还可以让 redis使用 CRC64 算法来进行数据校验,但是这样做会增加大约 10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能
     

    1.8 rdb的触发

      • 1 拷贝rdb文件

      • 2 flushdb/flushAll 会产生默认的空的dump.rdb

      • 3 执行shutdown命令 也会主动的备份数据库

  • 相关阅读:
    ControlExtensionTest(一)
    CCNotificationCenter(二)---NotificationCenterTest
    CCNotificationCenter(一)
    cocos2d-x笔记-CCGLProgram
    cocos2d-x笔记 ccTouchesBegan、ccTouchesMoved、ccTouchesEnded
    CCDictionary(转)
    ios笔记一(面向对象编程)
    cocos2d-x--精灵反转效果--CCOrbitCamera
    Android系统框架介绍
    cocos2d-x 粒子动作 setTexture
  • 原文地址:https://www.cnblogs.com/mm163/p/10836036.html
Copyright © 2020-2023  润新知