RDB持久化的優缺點
優點
RDB文件緊湊,體積小,網絡傳輸快,適合全量復制;恢復速度比AOF快很多。當然,與AOF相比, RDB最重要的優點之一是對性能的影響相對較小。
(體積小,恢復速度更快,對性能影響較小。)
缺點
- RDB文件的致命缺點在于其數據快照的持久化方式決定了必然做不到實時持久化,而在數據越來越重要的今天,數據的大量丟失很多時候是無法接受的,因此AOF持久化成為主流。
- 此外,RDB文 件需要滿足特定格式,兼容性差(如老版本的Redis不兼容新版本的RDB文件)。
- 對于RDB持久化,一方面是bgsave在進行fork操作時Redis主進程會阻塞,另一方面,子進程向硬盤寫數據也會帶來IO壓力。
(實時性差、兼容性差、在fork子進程時會阻塞父進程。)
AOF持久化優缺點
- 與RDB持久化相對應,AOF的優點在于支持秒級持久化、實時性好、兼容性好,缺點是文件大、恢復速度慢、對性能影響大。
- 對于AOF持久化,向硬盤寫數據的頻率大大提高(everysec策略下為秒級),IO 壓力更大,甚至可能造成AOF追加阻塞問題。
- AOF文件的重寫與RDB的bgsave類似,會有fork時的阻塞和子進程的 IO 壓力問題。相對來說,由于AOF向硬盤中寫數據的頻率更高,因此對Redis主進程性能的影響會更大。