redis aof文件淺析
redis aof文件淺析
redis中的數(shù)據(jù)持久化有兩種方式:RDB持久化和AOF持久化。RDB相對于AOF來說是一個粗粒度的備份,即RDB可能是一天備份一次,而AOF可能是每秒一次甚至每次寫操作進(jìn)行一次備份。redis中的aof(append only file)文件的作用就相當(dāng)于mysql中的binlog,用于記錄寫操作日志。當(dāng)redis服務(wù)器異常宕機(jī),可以使用該文件對數(shù)據(jù)進(jìn)行恢復(fù)。進(jìn)行數(shù)據(jù)恢復(fù)時,redis服務(wù)器端會創(chuàng)建一個 fake client(假冒客戶端),即通過fake client來模擬redis客戶端,該fake client讀取aof文件并執(zhí)行其中的redis command,通過這種方式來模擬redis客戶端對redis服務(wù)器的操作(增刪改),從而達(dá)到恢復(fù)數(shù)據(jù)的目的。
另外redis是k-v數(shù)據(jù)庫,數(shù)據(jù)存儲在內(nèi)存,當(dāng)然也會定時持久化。在redis服務(wù)關(guān)閉時,內(nèi)存中原先的數(shù)據(jù)就會丟失,所以在redis每次重新啟動時,需要將持久化的數(shù)據(jù)恢復(fù)到內(nèi)存中。持久化的數(shù)據(jù)就是rdb和aof文件,具體采用的方式是根據(jù)redis的配置文件而定。
posted on 2012-06-11 20:15 MrRightLeft 閱讀(700) 評論(0) 編輯 收藏 引用 所屬分類: k-v數(shù)據(jù)庫