redis啟用持久化


 redis的持久化有rdb和aof兩種。
rdb是記錄一段時間內的操作,一盤的配置是一段時間內操作超過多少次就持久化。
aof可以實現每次操作都持久化。
這里我們使用aof。

配置方式,打開redis的配置文件。找到appendonly。默認是appendonly no。改成appendonly yes。

再找到appendfsync
默認是:

    # appendfsync always   #每次收到寫命令就立即強制寫入磁盤,最慢的,但是保證完全的持久化,不推薦使用  
    appendfsync everysec     #每秒鍾強制寫入磁盤一次,在性能和持久化方面做了很好的折中,推薦  
    # appendfsync no    #完全依賴os,性能最好,持久化沒保證  



默認每秒持久化滿足我的需求。
其實改下appendonly 就ok了。

appendfsync no的時候,Redis不會主動調用fsync,將緩沖區中的數據寫到磁盤上。
   appendfsync everysec
        當設置appendfsync為everysec的時候,Redis會默認每隔一秒進行一次fsync調用時長超過1秒時。Redis會采取延遲fsync,這一次的fsync時文件描述符會被阻塞,所以當前的寫操作就會阻塞。
        結論就是,在絕大多數情況下,Redis會每隔一秒進行一 次fsync操作。這一操作在大多數數據庫系統中被稱為group commit,就是組合多次寫操作的數據,一次性將日志寫到磁盤。
   appendfsync always
        置appendfsync為always時,每一次寫操作都會調用一次fsync,
所以其性能也會受到影響。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM