Redis持久化机制有哪些?各有什么优缺点?

Redis 提供两种持久化机制: RDB 和 AOF

 

RDBRedis DataBase:

指用数据集快照的方式半持久化模式,记录 redis 数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,可恢复数据

优点:

  • 只有一个文件 dump.rdb,恢复操作简单,容灾性好
  • 性能较高,fork 子进程进行写操作,主进程继续处理命令
  • 大数据集比 AOF 的恢复效率高

缺点:

  • 数据安全性低,RDB 是每间隔一段时间进行持久化,若期间 redis 发生故障,可能会发生数据丢失

 

AOFAppend-only file

指所有的命令行记录以 redis 命令请求协议的格式完全持久化存储,保存为 aof 文件

优点:

  • 数据安全,aof 持久化可以配置 appendfsync 属性为 always,记录每个命令操作到 aof 文件中一次;通过 append 模式写文件,即使中途服务器宕机,也可以通过 redis-check-aof 工具解决数据一致性问题
  • AOF 机制的 rewrite 模式,AOF 文件没被 rewrite 之前可以进行处理,如删除文件中的 flushall 命令

缺点:

  • AOF 的持久化文件比 RDB 大,恢复速度慢

 

 

 


【Java面试题与答案】整理推荐

  • 基础与语法
  • 集合
  • 网络编程
  • 并发编程
  • Web
  • 安全
  • 设计模式
  • 框架
  • 算法与数据结构
  • 异常
  • 文件解析与生成
  • Linux
  • MySQL
  • Oracle
  • Redis
  • Dubbo

 

你可能感兴趣的:(Redis持久化机制有哪些?各有什么优缺点?)