您好,登錄后才能下訂單哦!
這篇文章主要介紹Redis持久化方式有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
眾所周知,redis是內存數據庫,它把數據存儲在內存中,這樣在加快讀取速度的同時也對數據安全性產生了新的問題,即當redis所在服務器發生宕機后,redis數據庫里的所有數據將會全部丟失。
為了解決這個問題,redis提供了持久化功能。通俗的講就是將內存中的數據寫入硬盤中。
Redis 提供了多種不同級別的持久化方式:
1、RDB 持久化可以在指定的時間間隔內生成數據集的時間點快照(point-in-time snapshot)。
2、AOF 持久化記錄服務器執行的所有寫操作命令,并在服務器啟動時,通過重新執行這些命令來還原數據集。 AOF 文件中的命令全部以 Redis 協議的格式來保存,新命令會被追加到文件的末尾。 Redis 還可以在后臺對 AOF 文件進行重寫(rewrite),使得 AOF 文件的體積不會超出保存數據集狀態所需的實際大小。
3、Redis 還可以同時使用 AOF 持久化和 RDB 持久化。 在這種情況下, 當 Redis 重啟時, 它會優先使用 AOF 文件來還原數據集, 因為 AOF 文件保存的數據集通常比 RDB 文件所保存的數據集更完整。
4、關閉持久化功能,。讓數據只存在內存里面,重啟就沒了。
Redis的RDB持久化(RDB默認是啟動的)
1.Snapshotting:
缺省情況下,Redis會將數據集的快照dump到dump.rdb文件中。此外,我們也可以通過配置文件來修改Redis服務器dump快照的頻率,在打開redis.conf文件之后,我們搜索save,可以看到下面的配置信息:
save 900 1 #在900秒(15分鐘)之后,如果至少有1個key發生變化,則dump內存快照。
save 300 10 #在300秒(5分鐘)之后,如果至少有10個key發生變化,則dump內存快照。
save 60 10000 #在60秒(1分鐘)之后,如果至少有10000個key發生變化,則dump內存快照。
2. Dump快照的機制:
1). Redis先fork子進程。
2). 子進程將快照數據寫入到臨時RDB文件中。
3). 當子進程完成數據寫入操作后,再用臨時文件替換老的文件。
以上是Redis持久化方式有哪些的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。