zoukankan      html  css  js  c++  java
  • redis的持久化功能

    基于快照持久化

    修改配置文件,开始基于快照的选项
    
    [root@localhostbin]#vim /etc/redis/redis.conf
    

    stop-writes-on-bgsave-error yes #后台存储错误停止写。
    rdbcompression yes #使用LZF压缩rdb文件。
    rdbchecksum yes #存储和加载rdb文件时校验。
    dbfilename dump.rdb #设置rdb文件名。
    dir ./ #设置工作目录,rdb文件会写入该目录。

    指 定 的 时 间 间 隔 内 保 存 数 据 快 照
    优 点
    令 适 合 用 于 进 行 备 份
    fork 出 子 进 程 进 行 备 份 , 主 进 程 没 有 任 何 io 操 作
    令 恢 复 大 数 据 集 时 的 速 度 快
    缺点
    特定条件下进行一个持久化,容易丢失数据
    庞大数据时,保存会出现性能问题

    基于文件追加方式持久化(AOF)

    redis.conf配置 :

    	appendonly yes # 是否打开 aof日志功能
    	appendfilename "appendfile.aof" 文件的名称
    	appendfsync always   # 每1个命令,都立即同步到aof. 安全,速度慢,不推荐
    	appendfsync everysec # 折衷方案,每秒写1次,推荐
    	appendfsync no      # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快,性能最好,但是持久化没有保证
    	no-appendfsync-on-rewrite  yes: # 正在导出rdb快照的过程中,要不要停止同步aof
    	auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增长率100%时,重写
    	auto-aof-rewrite-min-size 64mb #aof文件,至少超过64M时,重写
    

    先 把 命 令 追 加 到 操 作 日 志 的 尾 部 , 保 存 所 有 历 史 操 作
    优 点
    令 数 据 非 常 完 整 , 故 障 恢 复 丢 失 数 据 少
    令 可 对 历 史 操 作 进 行 处 理
    缺点:
    文件的体积大
    速度低于RDB且故障恢复速度慢

    为aof备份文件做优化处理

    ./redis-cli bgrewriteaof
    

    redis的持久化相关指令

    bgsave异步保存数据到盘(快照保存)
    lastsave返回上次成功保存到磁盘的uni×时间戳
    shutdown同步保存到服务器并关闭redis服务器
    bgrewriteaof当日志文件过长时优化AOF日志文件存储

    例如:
    ./redis-cli bgrewriteaof
    ./redis-cli bgsave
    ./redis-cli - h 127.0.0.1-p 6379 bgsave #手动发起快照
    
  • 相关阅读:
    ArrayList源码 (基于1.7)
    java.lang.Class类中的某些方法
    jdk1.8新特性 : 接口中可以有普通方法(非静态方法)和静态方法 , 颠覆了之前我的理解 : 接口中只能有共有常量和抽象方法的概念,后面必须要加一句jdk1.7和1..7之前
    Cesium中级教程10
    Cesium中级教程9
    Cesium中级教程8
    Cesium中级教程7
    Cesium中级教程6
    Cesium中级教程5
    Cesium中级教程4
  • 原文地址:https://www.cnblogs.com/qinsilandiao/p/10873779.html
Copyright © 2011-2022 走看看