zoukankan      html  css  js  c++  java
  • redis中数据的持久化

    redis中数据的持久化分为两种:1.rdb,2.aof

    1.rdb

      在指定的时间内将内存中的数据集快照写入磁盘,恢复时,直接将快照文件读取到内存中。

      rdb保存的是dump.rdb文件(默认)。

      在redis配置文件中可以设置保存的文件名称,以及每次更新文件的间隔时间

    如果在开发过程中遇到非常重要的数据想要立刻快照到文件中,则使用save命令(同步,其他先阻塞)或者bgsave命令(异步)即可

    2.aof

      以日志的形式来记录每个操作,将redis执行过的所有指令记录下来,aof默认保存的时候appendonly.aof文件,要开启aof则需要设置redis.conf配置文件中的appendonly 为yes

      如果aof文件有损坏,可以使用redis-check-aof --fix进行修复

      aof开启后,当redis重启时会优先执行aof文件来恢复数据

     AOF采用文件追加方式,文件会越来越大为避免出现此种情况,新增了重写机制,当AOF文件的大小超过所设定的阈值时,Redis就会启动AOF文件的内容压缩,只保留可以恢复数据的最小指令集.可以使用命令bgrewriteaof

    AOF文件持续增长而过大时,会fork出一条新进程来将文件重写(也是先写临时文件最后再rename),遍历新进程的内存中数据,每条记录有一条的Set语句。重写aof文件的操作,并没有读取旧的aof文件,而是将整个内存中的数据库内容用命令的方式重写了一个新的aof文件,这点和快照有点类似

    Redis会记录上次重写时的AOF大小,默认配置是当AOF文件大小是上次rewrite后大小的一倍且文件大于64M时触发

  • 相关阅读:
    POJ 3281 /// 最大流
    POJ Evacuation /// 二分图最大匹配
    POJ 3041 /// 二分图匹配
    Codeforces Round #526 D
    Codeforces Round #526 C
    2018ICPC焦作 F. Honeycomb /// BFS
    2018ICPC焦作 D-Keiichi Tsuchiya the Drift King /// 几何
    Codeforces Round #525 E
    哈理工赛 H-小乐乐学数学 /// 筛法得素数表+树状数组
    Codeforces Round #525 D
  • 原文地址:https://www.cnblogs.com/zhlblogs/p/9817003.html
Copyright © 2011-2022 走看看