• redis学习-持久化机制


    前言

    redis是一个支持持久化的数据库,也就是说redis需要将内存中的数据往硬盘中来保持持久化。

    redis持久化有两种方式:

    1. snapshotting(快照)方式,也即RDB方式
    2. append-only(aof)方式

    RDB

    snapshotting(快照)方式,也即RDB方式,是redis的默认方式,将内存中的数据库以快照方式写入二进制文件中(dump.rdb),可以通过配置文件设定,在一段时间n秒内,修改了超过m个key,则自动做快照。

    快照方式刷盘有时间间隔,应对突发状况会导致最近一次快照以后的数据全部丢失。在数据不强求完整性的情况下可以选择这种方式。

    snapshotting的默认设置如下:

    save 900 1	# 900s内 1个key被修改 则自动刷盘,下同理
    save 300 10
    save 60 10000
    

    AOF

    append-only(aof)方式在每一次写命令后都会写入到aof文件中。当服务器重启后会将执行aof中存储的全部命令以恢复数据库。

    aof方式默认也不是立即写到磁盘中,可以通过配置文件修改策略,在性能和持久性中找一个平衡。

    aof设置如下

    appendonly yes     # 开启aof模式
    
    # appendfsync always      # 接到命令立即写入磁盘,性能差,持久性强
    # appendfsync everysec      # 每秒写盘一次,性能和持久化折中,默认是这种方式
    # appendfsync no      # 性能最优,但持久性依赖OS,just let the OS flush the data when it wants.
    

    redis使用率高的情况下每秒10W+的命令是常有的,因此在生产环境下使用always是最稳妥的策略。

  • 相关阅读:
    Switch开关按钮控件----------WinForm控件开发系列
    图片旋转播放控件----------WinForm控件开发系列
    谷歌密码查看器
    Tarjan求LCA
    [题解]Hankson的趣味题
    [NOI Online]文具订购
    二分图判定
    hash表
    KMP算法
    拓扑排序入门
  • 原文地址:https://www.cnblogs.com/bcomll/p/13497391.html
Copyright © 2020-2023  润新知