您好,登錄后才能下訂單哦!
這篇文章主要講解了“Redis持久化存儲機制是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Redis持久化存儲機制是什么”吧!
Redis 的數據全部在內存里,如果突然宕機,數據就會全部丟失,因此必須有一種機制來保證 Redis 的數據不會因為故障而丟失,這種機制就是 Redis 的持久化機制。
原理
在某個時間點將內存中的數據寫入一個磁盤的臨時文件,持久化結束后,用這個臨時文件替換上次持久化的文件。
配置文件
save 900 1 # 在900秒內如果鍵值修改過1次就快照save 300 10 # 在300秒內如果鍵值修改過10次就快照save 60 10000 # 在60秒內鍵值修改過10000次就快照stop-writes-on-bgsave-error yes # 后臺備份出錯時,是否禁止新的寫入操作?如果不禁止容易造成數據不一致 rdbcompression yes # 導出的rdb文件是否壓縮rdbchecksum yes # 恢復時導入rdb文件是否檢驗完整性、是否檢驗版本是否一致dbfilename dump.rdb # 導出來得rdb文件名dir /var/lib/redis # rdb的存放路徑
原理
‎通過將發送到服務器的寫操作‎‎命令‎‎記錄下來,形成AOF文件,此文件只許追加不能修改,Redis啟動時會讀取AOF文件后重構數據(重新執行一遍)。 文件默認名稱是appendonly.aof‎
配置文件
appendonly no # 是否開啟aof功能appendfilename "appendonly.aof" # 文件名appendfsync always # 只要一修改就同步至緩沖區,并同步至磁盤appendfsync everysec # 每秒將數據同步至緩沖區,并同步至磁盤appendfsync no # redis不設定同步策略,由內核設定的參數決定是否同步no-appendfsync-on-rewrite no # appendfsync設定為always或everysec的話,還要不要同步磁盤auto-aof-rewrite-percentage 100 # 每隔多久重構aof文件,單位秒auto-aof-rewrite-min-size 64mb # aof文件最小為多少時重構一次aof文件。搭配上一條使用aof-load-truncated yes # 崩潰修復后自動進行全備
aof重寫、重構
將大量重復的命令合并成一條命令,而不必頻繁的去重新執行每一條命令.
AOF更加安全,可以將數據即時同步到文件中,但是消耗磁盤I/O,效率低
Snapshot更高效,它是服務器在正常運行情況下數據同步最佳手段,文件尺寸小,效率高,安全性低
注:RDB與AOF同時開啟 默認使用AOF來恢復數據
架構良好的環境中:Master使用AOF,Slave使用snapshot。 原因是主要確保數據完整,從要速度快。‎
網絡環境較差:建議使用master與slave同時使用AOF更加安全
網絡良好、需要收密集型寫操作:建議Master采用snapshot,Slave采用AOF
感謝各位的閱讀,以上就是“Redis持久化存儲機制是什么”的內容了,經過本文的學習后,相信大家對Redis持久化存儲機制是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。