美文网首页
Redis的两种备份方式——RDB和AOF

Redis的两种备份方式——RDB和AOF

作者: 什么也不懂888 | 来源:发表于2019-01-23 10:01 被阅读0次

RDB方式实际是将redis中的所有键值对保存为二进制文件,该文件可以还原为某一时刻特定的数据库状态。

SAVE命令会阻塞redis服务器进程,直到rdb文件创建完毕为止,在服务器进程阻塞期间,服务器不能处理任何命令请求,而bgsave命令会派生出一个子进程,由子进程创建rdb文件。

可以通过设置save选项设置bgsave执行的条件,redis的周期性操作函数serverCron会每隔100毫秒检查save条件是否满足,一旦满足就执行bgsave。

AOF持久化是通过保存redis服务器所执行的写命令来记录数据库状态的。服务器只要读入并重新执行一遍AOF文件里保存的所有写命令,就可以还原数据库。

AOF持久化的实现:1. 命令追加到缓冲区;2. 当事件循环到来时如果满足写入条件(服务器配置)则将缓冲区写入aof文件。

随着时间推移redis执行的写命令会越来越多,aof文件会越来越大,redis通过aof重写机制避免aof文件急剧膨胀。aof重写是通过子进程读取数据库状态来实现的。在子进程进行aof重写期间,新的写命令保存在aof重写缓冲区内,在aof重写执行完后将重写缓冲区的内容保存到新的aof文件中。

两种备份方案的选择:对于RDB持久化,一方面是bgsave在进行fork操作时Redis主进程会阻塞,另一方面,子进程向硬盘写数据也会带来IO压力,但数据的完整性和一致性受备份条件影响可能较差;而AOF持久化由于持续的写入IO压力更大,但数据的一致性和完整性较好。

相关文章

  • redis集群 主从同步 备份

    redis备份 redis有两种备份方式:RDB AOF RDB:这种方式是redis主进程fork一个子进程将内...

  • Redis持久化设计与实现-RDB和AOF

    Redis持久化备份数据的方式有两种:RDB(Redis DataBase) 、 AOF(Append Only ...

  • Redis持久化存储(AOF与RDB两种模式)

    redis的持久化——RDB和AOF。redis有两种方式支持持久化,分别是RDB和AOF。RDBRDB即redi...

  • redis知识点更新

    redis的数据备份 redis提供了两种持久化方式,分别为RDB和AOF RDB 默认情况下60秒刷新到磁盘一次...

  • redis-2

    redis-2 redis的持久化 Redis 提供了 RDB 和 AOF 两种持久化方式。 RDB RDB 是把...

  • Redis从入门到精通5:Redis的持久化

    本节来介绍Redis的持久化。 Redis支持两种方式持久化:RDB和AOF。默认开启RDB,而禁用AOF。 1....

  • Redis持久化

    Redis的持久化 Redis的持久化方式有两种:快照(RDB)文件和追加文件(AOF文件) 两种方式。 RDB ...

  • Redis备份

    Redis提供两种备份方式:RDB 持久化机制和AOF 持久化机制 1、RDB持久化机制 会在指定时间点生成数据集...

  • Redis持久化

    Redis持久化方式有两种:RDB和AOF。 1 RDB持久化 RDB(Redis Database)持久化是把当...

  • Redis的备份方式

    Redis的备份方式主要有两种:RDB和AOF. RDB:主进程fork出子进程定期将数据以快照形式保存,对性能影...

网友评论

      本文标题:Redis的两种备份方式——RDB和AOF

      本文链接:https://www.haomeiwen.com/subject/mkolhqtx.html