• redis的持久化


    redis 持久化的概念

    Redis 是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到磁盘来保证持久化。Redis支持两种持久化方式,一种是Snapshotting(快照)也是默认方式,另一种是Append-Only File(缩写AOF)的方式。

    #####################RDB#############

    1、Snapshotting(RDB)机制以及运行原理

    在某一时刻点保存一个完整的数据快照。
    原理:
      1、Redis通过fork产生子进程
      2、父进程继续处理client请求,子进程负责将快照写入临时文件
      3、子进程写完后,用临时文件替换原来的快照文件,然后子进程退出。

    2、Snapshotting机制的配置

    1、编辑redis.conf文件
    2、文件中添加
            save 900 1        #900秒超过1个key被修改
            save 300  10     #300秒超过10个key被修改
            save 60 10000  #60秒超过10000条被修改

    #################AOF##############

    1、Append-Only File(AOF)机制

    每一个写操作,将写入log文件,用于数据恢复(写操作包括:insert,delete,update)

    2、Append-Only File(AOF)机制运行原理

    1、Redis 通过fork一个子进程
    2、父进程继续处理client请求,子进程把AOF内容写入缓存区
    3、子进程写完退出,父进程接收退出信息,将缓冲区AOF写入临时文件
    4、临时文件重命名成appendonly.aof,原来文件被覆盖,整个过程完成

    3、Append-Only File(AOF)机制配置

    1、编辑redis.conf文件
    2、在文件中添加
            appendonly  yes        #启动AOF机制
            appendsync always      #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
            appendsync everysec    #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐使用
            appendsync no          #完全依赖os,性能最好,持久化没保证

    RDB与AOF两种方式比较

    Snapshotting 
        优势:
                1、RDB产生的文件小
                2、RDB恢复快,并且简单,例如你可以快速的将RDB文件传输到其他主机,做数据的恢复
                3、在进行RDB备份时,主进程仅仅需要创建一个子进程,所有的I/O操作都由子进程完成
    
    
        缺陷:
                1、不能完全保证数据安全,在两个备份点之间可能会发生数据丢失
                2、当数据量很大时,创建子进程可能会是一个非常耗时的操作,甚至可能需要1秒,在这个期间,Redis无法向客服端提供服务
    
    
    AOF
        优势:
                1、数据备份粒度小,数据安全性更高
                2、AOF只会对日志文件进行追加操作,不会修改已经写好的内容。即使在掉电的情况下,AOF日志仍然是可用的。
        
        缺陷:
                1、AOF文件通常比相同的数据集的RDB文件更大
                2、AOF写日志可能会比较慢,这跟fsync的机制有关

    总结:RDB快照易丢失数据,AOF模式比较安全,但日志重写时,磁盘IO开销大,容易导致服务器性能严重下降,并且需要足够的物理内存。

  • 相关阅读:
    标签平滑Label Smoothing
    py 中传参时**符号学习
    RoBERTa模型学习
    获取bert所有隐层的输出
    json.dumps||ensure_ascii
    nn.LSTM输入、输出、参数及pad
    py中的heapq操作
    fastnlp中的CRF补齐的padding?
    P3393 逃离僵尸岛 最短路dijkstra
    P2057 [SHOI2007]善意的投票 最小割
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10263269.html
Copyright © 2020-2023  润新知