Redis面试:Redis的持久化方式有哪些?各有何利弊?
Posted pengluo22
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis面试:Redis的持久化方式有哪些?各有何利弊?相关的知识,希望对你有一定的参考价值。
Redis提供的持久化策略包括:AOF持久化,RDB持久化,RDB—AOF混合持久化。 1.RDB持久化方式的特点 优点: 默认的持久化方式,持久化文件后缀为.rdb(Redis DataBase),以二进制的形式存储每个数据库的键值对 默认的save选项:save 6010000;save 300100;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使用手册》黄健宏以上是关于Redis面试:Redis的持久化方式有哪些?各有何利弊?的主要内容,如果未能解决你的问题,请参考以下文章