二、Redis—持久化

Redis持久化redis

Redis提供了兩種持久化的方式,分別是RDB(Redis DataBase)和AOF(Append Only File),若是這兩種模式都關閉了,redis就會默認把數據只存在內存裏。算法

  • RDB,簡而言之,就是在不一樣的時間點,將redis存儲的數據生成快照並存儲到磁盤等介質上。數據庫

  • AOF,則是換了一個角度來實現持久化,那就是將redis執行過的全部寫指令記錄下來,在下次redis從新啓動時,只要把這些寫指令從前到後再重複執行一遍,就能夠實現數據恢復了。安全

  •  其實RDB和AOF兩種方式也能夠同時使用,在這種狀況下,若是redis重啓的話,則會優先採用AOF方式來進行數據恢復,這是由於AOF方式的數據恢復完整度更高。app

  •  若是你沒有數據持久化的需求,也徹底能夠關閉RDB和AOF方式,這樣的話,redis將變成一個純內存數據庫,就像memcache同樣。ide

  • 總結:AOF持久化會比RDB記錄的數據更加全面性能

Redis持久化相關參數配置spa

  • RDB持久化內存

經過save這個參數設置過時前時間it

save 900 1 #表示每15分鐘且至少有1個key改變,就觸發一次持久化 

 save 300 10 #表示每5分鐘且至少有10個key改變,就觸發一次持久化

 save 60 10000 #表示每60秒至少有10000個key改變,就觸發一次持久

要取消這種持久化方式就把上邊三行註釋掉,打開save 「」  #這樣能夠禁用rdb持久化

  • AOF持久化

 appendonly yes  #若是是yes,則開啓aof持久化

 appendfilename 「appendonly.aof」 # 指定aof文件名字

模式:

 appendfsync everysec #指定fsync()調用模式,有三種

一、no(不調用fsync,每隔一段時間寫一次(根據你係統的算法頻率))

二、always(每次寫都會調用fsync,只要有變更就會寫進去)

三、everysec(每秒鐘調用一次fsync,寫一次)

優缺點:

一、no:最不安全,可能會丟數據

二、always:數據最安全,但性能會差一些,會耗費一些磁盤io

三、everysec:相對來說既安全又高效(默認)

相關文章
相關標籤/搜索