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

    什么是redis的aof?

    aof 是 appendonly file 的缩写, 是redis系统提供的一种记录redis操作的持久化方案, 在aof生成的文件中, 将记录发生在redis的操作, 从而达到在redis服务器重启或者宕机后, 继续恢复之前的数据状态
    AOF文件的保存位置和 RDB文件的位置相同,都是通过dir参数设置的,默认的文件名是
    appendonly.aof,可以通过appendfilename参数修改

    aof的配置参数

    appendonly no    #是否打开aof日志功能
    
    appendfsync always    #每一个命令, 都立即同步到aof, 安全, 速度慢
    appendfsync everysec    #折中方案, 每秒写一次
    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 时重写
    

    问: 在dump rdb过程中, aof如果停止同步数据会不会丢失?
    答: 不会, 所有的操作缓存在内存的队列里, dump完成后统一操作
    问: aof重写是什么
    答: aof重写是指把内存中的数据, 逆化成命令, 写入 .aof 日志里, 以解决 aof 日志过大的问题
    问: 如果rdb文件和aof文件都存在, 优先用谁来恢复数据?
    答: aof
    问: 两种是否可以同时使用?
    答: 可以, 推荐这样做
    问: 恢复时rdb和aof哪个恢复的快?
    答: rdb快, 因为它是数据的内存映射, 而aof是命令, 需要逐条执行


    Redis允许同时开启AOF和RDB,既保证了数据安全又使得进行备份等操作十分容易。此时重新启动Redis后, Redis会使用AOF文件来恢复数据

    实际上当Redis服务器挂掉后, 重启时将按照以下恢复数据到内存

    • 如果只配置AOF,重启时加载AOF文件恢复数据
    • 如果同时 配置了RDB和AOF,启动是只加载AOF文件恢复数据
    • 如果只配置RDB,启动是将加载dump文件恢复数据
  • 相关阅读:
    java模式及其应用场景
    redis配置密码 redis常用命令
    Redis可视化工具Redis Desktop Manager使用
    String类和StringBuffer类的区别
    centos下搭建redis集群
    eclipse maven项目中使用tomcat插件部署项目
    什么是反向代理,如何区别反向与正向代理
    数据库连接池的原理
    归并排序
    asio-kcp源码分析
  • 原文地址:https://www.cnblogs.com/qlshine/p/5958598.html
Copyright © 2011-2022 走看看