公眾號文章匯總
603
2025-03-31
Redis 是一個開源( BSD 許可)的,內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。它支持的數據類型很豐富,如字符串、鏈表、集 合、以及散列等,并且還支持多種排序功能。
什么叫持久化?
用一句話可以將持久化概括為:將數據(如內存中的對象)保存到可永久保存的存儲設備中。持久化的主要應用是將內存中的對象存儲在數據庫中,或者存儲在磁盤文件中、 XML 數據文件中等等。
從應用層與系統層理解持久化
同時,也可以從應用層和系統層這兩個層面來理解持久化:
應用層:如果關閉(?Close?)你的應用然后重新啟動則先前的數據依然存在。
系統層:如果關閉(?Shutdown?)你的系統(電腦)然后重新啟動則先前的數據依然存在。
Redis 為什么要持久化?
Redis 中的數據類型都支持 push/pop、add/remove 及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,Redis 支持各種不同方式的排序。與 Memcached 一樣,為了保證效率,數據都是緩存在內存中。
對,數據都是緩存在內存中的,當你重啟系統或者關閉系統后,緩存在內存中的數據都會消失殆盡,再也找不回來了。所以,為了讓數據能夠長期保存,就要將 Redis 放在緩存中的數據做持久化存儲。
Redis 怎么實現持久化?
在設計之初,Redis 就已經考慮到了這個問題。官方提供了多種不同級別的數據持久化的方式:
1、RDB持久化方式能夠在指定的時間間隔能對你的數據進行快照存儲。
2、AOF持久化方式記錄每次對服務器寫的操作,當服務器重啟的時候會重新執行這些命令來恢復原始的數據,AOF命令以redis協議追加保存每次寫的操作到文件末尾.Redis還能對AOF文件進行后臺重寫,使得AOF文件的體積不至于過大。
3、如果你只希望你的數據在服務器運行的時候存在,你也可以不使用任何持久化方式。
4、你也可以同時開啟兩種持久化方式, 在這種情況下, 當redis重啟的時候會優先載入AOF文件來恢復原始的數據,因為在通常情況下AOF文件保存的數據集要比RDB文件保存的數據集要完整。
如果你不知道該選擇哪一個級別的持久化方式,那我們就先來了解一下 AOF 方式和 RDB 方式有什么樣的區別,并且它們各自有何優劣,學習完之后,再來考慮該選擇哪一種級別。
Redis
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。