zoukankan      html  css  js  c++  java
  • 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是最稳妥的策略。

  • 相关阅读:
    如何提高完成端口的性能
    我回来了
    减少资源包中的图片,提高效率
    新的MOVE结构,和在项目中实际的感受
    截图小结
    本周小记
    css选择器
    CSS的三种引入方式
    A标签的四个伪类(L V H A)排序上的讲究
    关于CSS清理浮动的方法
  • 原文地址:https://www.cnblogs.com/bcomll/p/13497391.html
Copyright © 2011-2022 走看看