ios13.3 redis持久化方式區(qū)別?
redis持久化方式區(qū)別?Redis運行時數(shù)據(jù)保存在內(nèi)存中,那么當服務器重新啟動并且數(shù)據(jù)丟失時該怎么辦?當然,它還提供持久性設置。Redis支持RDB和AOF兩種持久化模式。RDB模式是定期將內(nèi)存中的
redis持久化方式區(qū)別?
Redis運行時數(shù)據(jù)保存在內(nèi)存中,那么當服務器重新啟動并且數(shù)據(jù)丟失時該怎么辦?當然,它還提供持久性設置。
Redis支持RDB和AOF兩種持久化模式。
RDB模式是定期將內(nèi)存中的數(shù)據(jù)轉(zhuǎn)儲到磁盤。實現(xiàn)是一個定時fork子進程,它將內(nèi)存數(shù)據(jù)寫入文件,然后替換最后生成的文件。如果在此過程中服務器異常停機,數(shù)據(jù)將丟失。在RDB模式下,所有redis數(shù)據(jù)都可以保存在一個文件中,這對于數(shù)據(jù)恢復非常方便。對某個時間節(jié)點進行數(shù)據(jù)備份也非常方便。
Aof是記錄事務操作日志并將其添加到文件中。Aof支持三種策略來記錄操作日志。
1. 每次修改都是同步的,也就是說,每個事務操作都會立即記錄下來。
2. 每秒同步,每秒異步記錄。
3. 不同步,即沒有記錄。
每秒同步與RDB具有相同的數(shù)據(jù)丟失風險。RDB比AOF更能有效地恢復大量數(shù)據(jù)。
redis持久化?
Redis是一個高級鍵值數(shù)據(jù)庫。它類似于memcached,但是數(shù)據(jù)可以持久化,并且支持的數(shù)據(jù)類型非常豐富。有字符串、列表、集合和有序集合。它在服務器端支持集合的并、交、差的計算,并支持多種排序功能。因此redis也可以看作是一個數(shù)據(jù)結(jié)構服務器。
redis中的所有數(shù)據(jù)都保存在內(nèi)存中,然后不時異步保存到磁盤(這稱為“半持久模式”)。每個數(shù)據(jù)更改也可以寫入一個只附加的文件(AOF)(這稱為“完全持久模式”)。
由于redis的數(shù)據(jù)存儲在內(nèi)存中,如果不配置持久性,redis重啟后所有數(shù)據(jù)都會丟失。因此,需要打開redis的持久化功能,將數(shù)據(jù)保存到磁盤上。當redis重啟時,可以從磁盤恢復數(shù)據(jù)。Redis提供了兩種持久化方式,一種是RDB持久化(原理是將內(nèi)存中的reids數(shù)據(jù)庫記錄定時轉(zhuǎn)儲到磁盤上的RDB持久化中),另一種是AOF持久化(原理是通過追加將reids的操作日志寫入文件中)。