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

    1、什么是Redis持久化

      1、RDB   ( Redis DataBase)

       Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件

    替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能如果需要进行大规模数据的恢复,且对于数

    据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。(保存的都是dump.rdb文件)

      Fork:fork的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量、环境变量、程序计数器等)

    数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程

      保存

       完成输入后:save

      Save:save时只管保存,其它不管,全部阻塞 

      BGSAVE:Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。可以通过lastsave命令获取最后一次成功执行快照的时间

      

      恢复

        将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可

      相关配置文件

      save 900 1             15分钟改了一次
      save 300 10            5分钟改了10次
      save 60 10000        1分钟改了10000次

      uastop-writes-on-bgsave-error yes   为yes就是出错了就刹车,no就是不管数据一致

      rdbcompression yes    压缩不压缩数据

      rdbchecksum:在存储快照后,还可以让redis使用CRC64算法来进行数据校验,如果希望获取到最大的性能提升,可以关闭此功能

      dbfilename dump.rdb  文件名

      dir ./    文件目录

      

      2、AOF   (Append  Only  File)

        以日志的形式记录下来Redis每个写操作,只追加文件但不改写文件,Redis重启的话会根据日志文件的目录将写指令从前到后执行一次完成数据的恢复

        主要配置

          appendonly no   默认为关

        appendonly.aof  与  dump.rdb  能共存,其中我们会先去加载appendonly.aof

        appendonly.aof出错时(修改你生成的有问题的appendonly.aof

    [root@localhost bin]# redis-check-aof --fix /home/lk/appendonly.aof 
    0x             15a: Expected prefix 'd', got: '*'
    AOF analyzed: size=404, ok_up_to=346, diff=58
    This will shrink the AOF from 404 bytes, with 58 bytes, to 346 bytes
    Continue? [y/N]: y
    Successfully truncated AOF
    [root@localhost bin]# vi /myredis/redis.conf 

        Redis会记录上一次触发时重写的aof大小,默认配置时是当aof文件大小是上一次文件大小的一倍切大与64kM时触发

  • 相关阅读:
    Azkaban3.81.x部署+坑
    MapReduce on Yarn运行原理
    伪分布式Spark + Hive on Spark搭建
    Hadoop版本升级(2.7.6 => 3.1.2)
    Hadoop运行原理总结(详细)
    Scala函数柯里化(Currying or Curry)
    ubuntu安装伪分布式Hadoop3.1.2
    ubuntu16.04安装mysql
    前端每日知识点分享(总结版)
    浅析 CSS 中的边距重叠
  • 原文地址:https://www.cnblogs.com/karrya/p/11277546.html
Copyright © 2011-2022 走看看