zoukankan      html  css  js  c++  java
  • Redis -- 03 持久化

    Redis提供了两种不同的方法来将数据存储到硬盘里面,一种叫内存快照,另一种叫只追加文件(AOF),这两种方法既可以同时使用课可以单独使用,也可以都不使用,取决于场景。

    快照

    快照是将某一时刻的所有数据都写入硬盘里面,用作服务器重启是还原数据用。在创建完快照文件之后,可以将快照文件复制到其他服务器上进行备份,或者复制到其他服务器上并启动redis实例建立一个具有相同数据的redis服务器副本。

    在redis中启用快照的配置如下:

    ----------------快照设置start-------------------------------
    save 60 1000   --在60s内有1000条写入就执行快照,该配置可以设置多次,满足其中一条即开始快照,一条以上就启用快照功能
    stop-writes-on-bgsave-error no   --如果快照写入失败(由于某些原因),Redis是否停止接收写操作(是或否)
    rdbcompression yes  // 是否使用LZF压缩STRING当写入rdb的时候
    rdbchecksum yes // 是否对rdb进行CRC64校验
    dir ./  -- 快照写到什么地方
    dbfilename dump.rdb   -- 内存快照的文件名
    ----------------快照设置end--------------------------------

    快照的执行方式是bgsave命令,当满足save条件是就执行这个命令,也可以手动执行这个命令  windows平台不支持bgsave命令

    bgsave会创建一个子进程来讲数据从内存写入到硬盘里,而父进程继续处理命令请求

    当redis通过shutdown或者受到term信号需要关闭时会执行一次save命令,执行完后再关闭进程

    AOF文件

    AOF文件是将被执行的写命令复制到硬盘里面,追加到aof文件的末尾,所以,redis只要从头到尾执行一遍aof文件就可以恢复aof文件所记录的数据集

    启用aof的配置如下

    -----------------------AOF start---------------------------------
    appendonly no   --是否开启aof
    appendfsync everysec   -- aof文件的同步频率,取值为 always(每次写操作同步),everysec(每秒钟),no(由操作系统决定什么时候写入)
    no-appendfsync-on-rewrite no -- 是否在aof文件重写期间调用fsync
    appendfilename "appendonly.aof" // aof文件名
    auto-aof-rewrite-percentage 100 -- 指定重写aof文件的条件,超过上次rewrite文件大小的百分比
    auto-aof-rewrite-min-size 64mb --指定重写aof文件的条件,达到这个大小时才可以重写  auto-aof-rewrite-percentage  和 auto-aof-rewrite-min-size条件必须同时满足
    aof-load-truncated yes // redis在启动时可以加载被截断的AOF文件,而不需要先执行 redis-check-aof
    dir./   -- 文件所在的目录
    -----------------------AOF end----------------------------------
    重写aof文件:随着时间的迁移,aof文件会越来越大,但它其实不需要这么大,所以就要对aof文件进行一次重写,就是将内存里面的数据重新生成一份命令列表,写入aof文件中
    重写aof文件的命令是bgrewriteaof ,他也是创建一个子进程进行 aof文件的重写操作。 bgrewriteaof 命令也可以自动执行通过哦诶之auto-apf-rewrite的配置
     
  • 相关阅读:
    Java线程死锁模拟
    Arrays Multi
    PHP Forms
    simple grammer
    有意义的命名 Meaningful names
    整洁代码
    XPath
    多态
    复用类
    访问控制权限
  • 原文地址:https://www.cnblogs.com/cookiezhi/p/5783379.html
Copyright © 2011-2022 走看看