redis的持久化方式RDB和AOF的区别

  • 时间:
  • 浏览:1

appendfsync everysec #每秒钟同步一次,该策略为AOF的缺省策略。

本文转自方向对了,就不怕路远了!51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2049761 ,如需转载请自行联系原作者

4). 相比于AOF机制,肯能数据集很大,RDB的启动下行速率 会更高。

2). 肯能RDB是通过fork子守护进程来协助完成数据持久化工作的,否则 ,肯能当数据集较大时,肯能会导致 整个服务器停止服务几百毫秒,甚至是1秒钟。

2). 对于灾难恢复而言,RDB是非常不错的选泽。肯能当我们当我们当我们 可不能否够非常轻松的将从前单独的文件压缩后再转移到其它存储介质上。

AOF持久化配置

1). 一旦采用该土办法 ,越来越你的整个Redis数据库将只含晒 从前文件,这对于文件备份而言是非常完美的。比如,你肯能打算每个小时归档一次最近24小时的数据,同时必须每天归档一次最近30天的数据。通过另从前的备份策略,一旦系统老出灾难性故障,当我们当我们当我们 可不能否够非常容易的进行恢复。

二者选泽的标准,而是 看系统是我想要牺牲你是什么性能,换取更高的缓存一致性(aof),还是我想要写操作频繁的完后 ,不启用备份来换取更高的性能,待手动运行save的完后 ,再做备份(rdb)。rdb你是什么就更你是什么 eventually consistent的意思了。

3). 肯能日志过大,Redis可不能否够自动启用rewrite机制。即Redis以append模式不断的将修改数据写入到老的磁盘文件中,同时Redis不会创建从前新的文件用于记录此期间有哪几种修改命令被执行。否则 在进行rewrite切换时可不能否够更好的保证数据安全性。

2). 根据同步策略的不同,AOF在运行下行速率 上往往会慢于RDB。总之,每秒同步策略的下行速率 是比较高的,同步禁用策略的下行速率 和RDB一样高效。

appendfsync always #每次有数据修改地处时不会写入AOF文件。

appendfsync no #不要再说同步。高效否则 数据不要再被持久化。

AOF持久化以日志的形式记录服务器地补救的每从前写、删除操作,查询操作不要再记录,以文本的土办法 记录,可不能否够打开文件看到全版的操作记录。

RDB持久化是地处指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork从前子守护进程,先将数据集写入临时文件,写入成功后,再替换完后 的文件,用二进制压缩存储。

4). AOF含晒 从前格式清晰、易于理解的日志文件用于记录所有的修改操作。事实上,当我们当我们当我们 能够能够通过该文件完成数据的重建。

3). 性能最大化。对于Redis的服务守护进程而言,在随后随后刚开始 英文持久化时,它唯一必须做的而是 fork出子守护进程,完后 再由子守护进程完成哪几种持久化的工作,另从前就可不能否够极大的补救服务守护进程执行IO操作了。

最近在项目中使用到Redis做缓存,方便多个业务守护进程之间共享数据。肯能Redis的数据都存倒入内存中,肯能越来越配置持久化,redis重启后数据就全丢失了,于是必须开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可不能否够从磁盘中恢复数据。redis提供你是什么土办法 进行持久化,你是什么是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外你是什么是AOF持久化(原理是将Reids的操作日志以追加的土办法 写入文件)。越来越这你是什么持久化土办法 有哪几种区别呢,改如保选泽呢?网上看到大多数全版都是介绍这你是什么土办法 为什么我配置,为什么我使用,而是 越来越介绍二者的区别,在哪几种应用场景下使用。

Redis会将数据集的快照dump到dump.rdb文件中。此外,当我们当我们当我们 能够能够通过配置文件来修改Redis服务器dump快照的频率,在打开6379.conf文件完后 ,当我们当我们当我们 搜索save,可不能否够看到下面的配置信息:

2). 肯能该机制对日志文件的写入操作采用的是append模式,否则 在写入过程中即使老出宕机问提,而是 会破坏日志文件中肯能地处的内容。然而肯能当我们当我们当我们 本次操作而是 写入了一半数据就老出了系统崩溃问提,不要再担心,在Redis下一次启动完后 ,当我们当我们当我们 可不能否够通过redis-check-aof工具来帮助当我们当我们当我们 补救数据一致性的问提。

1). 对于相同数量的数据集而言,AOF文件通常要大于RDB文件。RDB 在恢复大数据集时的下行速率 比 AOF 的恢复下行速率 要快。

AOF的劣势有哪几种呢?

在Redis的配置文件中地处你是什么同步土办法 ,它们分别是:

save 900 1 #在900秒(15分钟)完后 ,肯能最少有从前key地处变化,则dump内存快照。

save 30 10 #在30秒(5分钟)完后 ,肯能最少有10个key地处变化,则dump内存快照。

AOF的优势有哪几种呢?

RDB持久化配置

RDB又地处哪几种劣势呢?

RDB地处哪几种优势呢?

save 30 300 #在30秒(1分钟)完后 ,肯能最少有300个key地处变化,则dump内存快照。

1). 该机制可不能否够带来更高的数据安全性,即数据持久性。Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步。事实上,每秒同步也是异步完成的,其下行速率 也是非常高的,所差的是一旦系统老出宕机问提,越来越你是什么秒钟之内修改的数据肯能丢失。而每修改同步,当我们当我们当我们 可不能否够将其视为同步持久化,即每次地处的数据变化不会被立即记录到磁盘中。可不能否够预见,你是什么土办法 在下行速率 上是最低的。至于无同步,不要再多言,我想当我们当我们当我们 都能正确的理解它。

1). 肯能你想保证数据的高可用性,即最大限度的补救数据丢失,越来越RDB将全版都是从前很好的选泽。肯能系统一旦在定时持久化完后 老出宕机问提,此前越来越来得及写入磁盘的数据都将丢失。