Redis提供了哪幾種持久化方式?
RDB持久化方式能夠在指定的時間間隔能對你的數(shù)據進行快照存儲.AOF持久化方式記錄每次對服務器寫的操作,當服務器重啟的時候會重新執(zhí)行這些命令來恢復原始的數(shù)據,AOF命令以redis協(xié)議追加保存每次寫的操作到文件末尾。
Redis還能對AOF文件進行后臺重寫,使得AOF文件的體積不至于過大。
如果你只希望你的數(shù)據在服務器運行的時候存在,你也可以不使用任何持久化方式。
你也可以同時開啟兩種持久化方式,在這種情況下,當redis重啟的時候會優(yōu)先載入AOF文件來恢復原始的數(shù)據,因為在通常情況下AOF文件保存的數(shù)據集要比RDB文件保存的數(shù)據集要完整。
最重要的事情是了解RDB和AOF持久化方式的不同,讓我們以RDB持久化方式開始。
如何選擇合適的持久化方式?
一般來說, 如果想達到足以媲美PostgreSQL的數(shù)據安全性, 你應該同時使用兩種持久化功能。如果你非常關心你的數(shù)據, 但仍然可以承受數(shù)分鐘以內的數(shù)據丟失,那么你可以只使用RDB持久化。有很多用戶都只使用AOF持久化,但并不推薦這種方式:因為定時生成RDB快照(snapshot)非常便于進行數(shù)據庫備份, 并且 RDB 恢復數(shù)據集的速度也要比AOF恢復的速度要快,除此之外, 使用RDB還可以避免之前提到的AOF程序的bug。