亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis數據持久化

發布時間:2020-07-12 01:47:06 來源:網絡 閱讀:260 作者:赤練摯愛 欄目:關系型數據庫

Redis數據持久化

Redis提供了將數據定期自動持久化到硬盤的能力,包括RDB,AOF兩種方案,兩種方案各有利弊,可以配合起來同時使用,確保數據的穩定性。

必須使用數據持久化嗎?

Redis數據持久化機制是可以關閉的。如果把 Redis服務作為緩存服務使用,Redis中存儲的所有數據都不是該數據的主體而僅僅是同步過來的備份,則可以關閉Redis的數據持久化機制。

但通常,仍要建議至少開啟 RDB方式的數據持久化,因為:

  • RDB方式的持久化幾乎不損耗 Redis本身的性能,在進行 RDB持久化時,Redis 主進程唯一需要做的事情就是 fork出一個子進程,所有持久化工作都由子進程完成。

  • Redis無論因為什么原因crash掉之后,重啟時能夠自動恢復到上一次RDB快照中記錄的數據。這省去了手工從其他數據源(如DB)同步數據的過程,而且要比其他任何的數據恢復方式都要快。

  • 現在硬盤那么大,真的不缺那一點地方

RDB

采用RDB持久方式,Redis會定期保存數據快照至一個 rbd 文件中,并在啟動時自動加載rdb文件,恢復之前保存的數據。可以在配置文件中配置 Redis 進行快照保存的時機:

save?[seconds]?[changes]

? ?意為在[seconds]秒內如果發生了[changes]次數據修改,則進行一次RDB快照保存,例如

save?60?100

會讓Redis每60秒檢查一次數據變更情況,如果發生了100次或以上的數據變更,則進行RDB快照保存。
可以配置多條save指令,讓Redis執行多級的快照保存策略。
Redis默認開啟RDB快照,默認的RDB策略如下:

save?900?1
save?300?10
save?60?10000

也可以通過BGSAVE命令手工觸發RDB快照保存。

RDB的優點:

  • 對性能影響最小。如前文所述,Redis在保存RDB快照時會fork出子進程進行,幾乎不影響Redis處理客戶端請求的效率。

  • 每次快照會生成一個完整的數據快照文件,所以可以輔以其他手段保存多個時間點的快照(例如把每天0點的快照備份至其他存儲媒介中),作為非常可靠的災難恢復手段。

  • 使用RDB文件進行數據恢復比使用AOF要快很多。

RDB的缺點:

  • 快照是定期生成的,所以在Redis crash時或多或少會丟失一部分數據。

  • 如果數據集非常大且CPU不夠強(比如單核CPU),Redis在fork子進程時可能會消耗相對較長的時間(長至1秒),影響這期間的客戶端請求。

AOF

采用AOF持久方式時,Redis會把每一個寫請求都記錄在一個日志文件里。在Redis重啟時,會把AOF文件中記錄的所有寫操作順序執行一遍,確保數據恢復到最新。

AOF默認是關閉的,如要開啟,進行如下配置:

appendonly?yes

AOF提供了三種fsync配置,always/everysec/no,通過配置項[appendfsync]指定:

  • appendfsync no:不進行fsync,將flush文件的時機交給OS決定,速度最快

  • appendfsync always:每寫入一條日志就進行一次fsync操作,數據安全性最高,但速度最慢

  • appendfsync everysec:折中的做法,交由后臺線程每秒fsync一次

隨著AOF不斷地記錄寫操作日志,必定會出現一些無用的日志,例如某個時間點執行了命令SET key1 "abc",在之后某個時間點又執行了SET key1 "bcd",那么第一條命令很顯然是沒有用的。大量的無用日志會讓AOF文件過大,也會讓數據恢復的時間過長。
所以Redis提供了AOF rewrite功能,可以重寫AOF文件,只保留能夠把數據恢復到最新狀態的最小寫操作集。
AOF rewrite可以通過BGREWRITEAOF命令觸發,也可以配置Redis定期自動進行:

auto-aof-rewrite-percentage?100
auto-aof-rewrite-min-size?64mb

上面兩行配置的含義是,Redis在每次AOF rewrite時,會記錄完成rewrite后的AOF日志大小,當AOF日志大小在該基礎上增長了100%后,自動進行AOF rewrite。同時如果增長的大小沒有達到64mb,則不會進行rewrite。

AOF的優點

  • 最安全,在啟用appendfsync always時,任何已寫入的數據都不會丟失,使用在啟用appendfsync everysec也至多只會丟失1秒的數據。

  • AOF文件在發生斷電等問題時也不會損壞,即使出現了某條日志只寫入了一半的情況,也可以使用redis-check-aof工具輕松修復。

  • AOF文件易讀,可修改,在進行了某些錯誤的數據清除操作后,只要AOF文件沒有rewrite,就可以把AOF文件備份出來,把錯誤的命令刪除,然后恢復數據。

AOF的缺點:

  • AOF文件通常比RDB文件更大

  • 性能消耗比RDB高

  • 數據恢復速度比RDB慢











向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永仁县| 长岛县| 陕西省| 吉林市| 景德镇市| 南昌市| 万源市| 腾冲县| 通渭县| 长武县| 赣州市| 托克托县| 高清| 于都县| 周至县| 文安县| 汉源县| 红河县| 昌江| 金寨县| 偃师市| 仁怀市| 夏河县| 普陀区| 漳州市| 凤阳县| 余干县| 衡阳市| 上饶市| 屯留县| 二手房| 台中县| 乌兰县| 福贡县| 勃利县| 保德县| 渭源县| 绥棱县| 汝南县| 顺昌县| 麻栗坡县|