redis aof文件淺析
redis中的數據持久化有兩種方式:RDB持久化和AOF持久化。RDB相對于AOF來說是一個粗粒度的備份,即RDB可能是一天備份一次,而AOF可能是每秒一次甚至每次寫操作進行一次備份。
redis中的aof(append only file)文件的作用就相當于mysql中的binlog,用于記錄寫操作日志。當redis服務器異常宕機,可以使用該文件對數據進行恢復。進行數據恢復時,redis服務器端會創建一個 fake client(假冒客戶端),即通過fake client來模擬redis客戶端,該fake client讀取aof文件并執行其中的redis command,通過這種方式來模擬redis客戶端對redis服務器的操作(增刪改),從而達到恢復數據的目的。
另外redis是k-v數據庫,數據存儲在內存,當然也會定時持久化。在redis服務關閉時,內存中原先的數據就會丟失,所以在redis每次重新啟動時,需要將持久化的數據恢復到內存中。持久化的數據就是rdb和aof文件,具體采用的方式是根據redis的配置文件而定。