zoukankan      html  css  js  c++  java
  • Redis面试(1):Redis的持久化方式有哪些?各有何利弊?

    Redis提供的持久化策略包括:RDB持久化,AOF持久化,RDB—AOF混合持久化。

    1.RDB持久化方式

    优点:

    • 默认的持久化方式,持久化文件后缀为.rdb(Redis DataBase),以二进制的形式存储每个数据库的键值对
    • 默认的save选项:save 60 10000;save 300 100;save 3600 1。表示60s内服务器至少对数据库进行了1万次修改

    缺点:

    • 丢失的数据大小取决于创建RDB文件的时间间隔,间隔越大,丢失越多。
    • 在服务器停机时丢失大量数据
    • RDB持久化是一种全量持久化操作,它在创建RDB文件时需要存储整个服务器包含的所有数据,并因此消耗大量计算资源和内存资源,频繁的进行持久化操作会导致Redis的性能急剧下降

    2.AOF持久化方式的特点

    优点:

    • 增量式持久化操作
    • AOF文件的冲洗频率设置决定了持久化的安全性,Redis默认配置appendSync为everysec,丢失数据时间窗口在1s内
    • AOF重写可以优化处理重复指令,减少AOF文件的大小

    缺点:

    • 体积大,生成时间长。因为AOF文件存放的是协议文本,体积比同等数据的二进制文件要大。
    • 数据恢复速度慢,体积越大差距越明显。AOF持久化通过执行AOF中保存的Redis指令来间接恢复数据库,相比RDB的直接恢复要慢
    • AOF重写操作短暂占用系统大量资源。使用的BGREWRITEAOF指令需要创建子进程,占用系统大量资源,数据库体积大时,导致服务器被短暂的阻塞

    3.RDB—AOF混合持久化

    Redis从4.0版本开始引入了RDB—AOF混合持久化模式,该模式可以融合RDB和AOF的优点,即:通过AOF文件包含的RDB数据实现快速的数据恢复操作,又可以通过AOF文件中包含的AOF数据将丢失数据的时间窗口限制在1s内。

    引用:
    《Redis使用手册》黄健宏

  • 相关阅读:
    MySQL之自增长
    MySQL字符集和校对规则
    关于MySQL安装目录bin下工具的详解
    Linux下载安装配置FTP
    Linux和Windows平台安装MySQL的两种方式
    kali安装linux-header
    Mysql之事务
    Linux之ps命令
    Linux之dd命令
    python爬虫之xpath的基本使用
  • 原文地址:https://www.cnblogs.com/PengLuo22/p/13899388.html
Copyright © 2011-2022 走看看