首頁  >  文章  >  資料庫  >  淺析Redis中AOF的原理與缺點

淺析Redis中AOF的原理與缺點

青灯夜游
青灯夜游轉載
2021-11-10 10:26:272587瀏覽

這篇文章帶大家了解Redis持久化中的AOF,介紹一下AOF原理、AOF缺點,希望對大家有幫助!

淺析Redis中AOF的原理與缺點

AOF

淺析Redis中AOF的原理與缺點

  • #上文我們提到了rRedis 中的一種持久化方式就是RDB
    • 此文我們來講另一種實作方式那就是AOF

    • #AOF是透過只記錄Redis寫入指令的追加式日誌檔案

    • ##AOF 日誌儲存的因為是順序指令,所以在Redis宕機後,內部"重走一遍老路",就可以達到恢復資料的目的

【相關推薦:

Redis影片教學

#AOF原理

##每次我們執行寫入指令的時候,
    Redis
  • 都會把指令追加到AOF檔案裡面
      實際上是將內容寫入記憶體的一個緩存匯總
    • 所以
    • Redis

      需要即時的去呼叫Linux提供的fsync函數每次都會制定檔案從內核快取寫到磁碟

    • 因為如果即時的去呼叫函數是非常我們也可以透過改變組態參數來調整呼叫
    • fsync

      函數的頻率

重寫

如果一直追著
    AOF
  • 文件,日誌會變得越來越大所以
      Redis
    • 內部實作了「重寫」,用來壓縮檔案首先因為很多的
    • key-value
    • 早就已經國企,或者很多值不斷被更新,那麼日誌還存這些無用的資料顯然是可以進行優化的所以創建一個子進程對內存進行遍歷
    • 遍歷成一個新的文件日誌,所以實作了只有最新的值才需要儲存在
    • AOF
    • 日誌中我們可以使用下圖的指令來開啟重寫,當然也可以設定成自動執行
    • AOF

淺析Redis中AOF的原理與缺點

#AOF缺點

    每次遍歷整個內存,會為系統帶來很大的額外性能開銷
  • 每次恢復資料是一個很長的過程並且每次進行從核心寫到磁碟很耗費IO效能
  • 更多程式相關知識,請造訪:
程式設計入門

! !

以上是淺析Redis中AOF的原理與缺點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除