zoukankan      html  css  js  c++  java
  • redis RBD机制

    RDB 就是 Redis DataBase,内存中的全量数据在某一个时刻的状态记录。

    快照机制

    引入原因:AOF日志进行故障恢复的时候,需要逐一执行操作日志。如果操作日志非常多,Redis 恢复得很慢,影响到正常使用。

    bgsave命令:主进程fork出子进程,共享主线程的所有内存数据。子进程读取主线程的内存数据,并把它们写入 RDB 文件。
    借助了操作系统提供的写时复制技术(Copy-On-Write, COW),在执行快照的同时,正常处理写操作,避免了主线程的阻塞。
    如果主线程要修改一块数据,这块数据就会被复制一份,生成数据副本。bgsave 子进程会把这个副本数据写入 RDB 文件。

    增量快照

    做了一次全量快照后,后续的快照只对修改的数据进行快照记录,避免每次全量快照的开销。
    需要使用额外的元数据信息去记录哪些数据被修改了,这会带来额外的空间开销问题。

    混用 AOF日志和RDB(Redis 4.0)

    内存快照以一定的频率执行,在两次快照之间,使用 AOF 日志记录这期间的所有命令操作。
    快照不用很频繁地执行,这就避免了频繁 fork 对主线程的影响。而且,AOF 日志也只用记录两次快照间的操作,不需要记录所有操作了,因此,就不会出现文件过大的情况了,也可以避免重写开销。

    备份机制选择

    数据不能丢失时,内存快照和 AOF 的混合使用;
    如果允许分钟级别的数据丢失,只使用 RDB;
    如果只用 AOF,优先使用 everysec 的配置选项,因为它在可靠性和性能之间取了一个平衡。

  • 相关阅读:
    每日一题_191126
    每日一题_191125
    每日一题_191124
    每日一题_191123
    每日一题_191122
    每日一题_191121
    每日一题_191120
    由一元二次不等式的解法引出的自编题
    2019高考,李尚志教授三评“维纳斯”(来自网络)
    2019全国卷(III)理科23题的另类解法
  • 原文地址:https://www.cnblogs.com/hainingwyx/p/13870050.html
Copyright © 2011-2022 走看看