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

溫馨提示×

溫馨提示×

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

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

Redis中的兩種持久化方式是什么

發布時間:2021-10-25 13:42:35 來源:億速云 閱讀:178 作者:iii 欄目:關系型數據庫

本篇內容主要講解“Redis中的兩種持久化方式是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Redis中的兩種持久化方式是什么”吧!

Redis中的兩種持久化方式是什么

Redis的兩種持久化方式

眾所周知,Redis中提供了AOF,RDB兩種持久化,下面先來簡單回顧一下。

RDB持久化

  • RDB持久化,就是把當前時間點的數據庫的狀態保存到磁盤中,又稱快照持久化

  • RDB可以手動觸發,也可以根據服務器配置定期執行。

  • RDB生成的文件,是一個經過壓縮的二進制文件,數據庫可以通過該文件還原到該時間點的狀態

  • Redis提供前臺RDB持久化命令SAVE和后臺RDB持久化命令BGSAVE,前臺執行時,Redis的其他命令會被阻塞,而后臺執行時,Redis還可以繼續處理客戶端的命令請求。

  • RDB二進制文件中,保存的是鍵值對數據,采用經過壓縮的自定義編碼,帶校驗。通過od命令可以轉化為可讀。

  • 主從復制時,初始化的全量復制采用RDB文件。

【相關推薦:Redis視頻教程】

AOF持久化

  • AOF持久化,全稱是Appen Only File,意思是追加的持久化方式,其中保存的是寫命令,而非數據。

  • AOF持久化過程分為命令追加、文件寫入、文件同步三個步驟。

  • 命令追加:Redis服務端每執行完一個寫命令,都會以AOF協議格式將該寫命令追加到服務器狀態的aof_buf緩沖區末尾。

  • 文件寫入:Redis中,每結束一個事件循環之前,都會調用flushAppendOnlyFile函數,將aof_buf緩沖區中的內容寫入到AOF文件。

  • 文件同步:同步sync指的是文件寫入到操作系統緩沖區中時,是否直接同步到磁盤中。通過配置,可以選擇立即同步、每秒同步、不主動同步而由操作系統控制,這三種同步方式。關于文件I/O緩沖:https://www.litreily.top/2018/10/25/io-cache/

  • Redis優先使用AOF文件來恢復數據。

  • AOF文件由于存儲命令,且沒有經過壓縮,其體積要大于RDB文件。

  • AOF文件可以定期采用BGREWRITEAOF重寫,減少重復命令、已失效命令,合并命令等。

  • AOF文件支持后臺重寫,采用fork子進程的形式實現。子進程帶有服務器進程的數據副本,再避免使用鎖的情況下保證數據安全性。另外也采用AOF重寫緩沖區解決了數據不一致。

兩種持久化分別的優缺點

RDB的優點

  • 文件體積小,適合拷貝做冷備

  • 相比AOF,備份恢復速度更快

RDB的缺點

  • 丟失數據多

  • fork子進程來做BGSAVE,消耗一定的內存資源

AOF的優點

  • 丟失數據少

  • 增加了寫緩沖區,無需尋址,速度快

  • append-only,也無需做磁盤尋址,效率高

AOF的缺點

  • 文件體積大

  • AOF每次都需要做一下寫入aof_buf的操作,開啟AOF持久化后,QPS會略微降低

Redis為什么需要兩種持久化?

經過上面的回顧,我們可以看到,RDB與AOF持久化有明顯區別。

  • 存儲的內容:RDB存儲某一時間點的數據;AOF存儲執行的寫命令。

  • 文件大小:RDB文件較小;AOF文件較大。

  • 寫入方式:RDB可采用前臺/后臺寫入方式;AOF采用每次執行寫命令,都將命令存入緩沖區的方式,另外可定期重寫。

  • 數據丟失:RDB丟失從宕機到上一次RDB同步之間的所有數據;AOF根據I/O緩沖區所配置的刷新方式,不丟失或丟失1s或幾秒的數據。

根據這些對比,可以看到RDB持久化更適合保存一個時間點的數據,在主從復制或者數據全量異地災備時,拷貝到其他地方,而AOF持久化由于丟失數據較少,比較適合作為本地備份,在Reids掛掉重啟時作為故障恢復。這就是我理解的為什么Redis需要兩種持久化方式

到此,相信大家對“Redis中的兩種持久化方式是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

大埔区| 望都县| 鄂伦春自治旗| 封开县| 全州县| 洛宁县| 六安市| 潜山县| 措勤县| 淅川县| 榆林市| 盐山县| 修水县| 定结县| 晋城| 汉源县| 吕梁市| 新安县| 顺昌县| 福泉市| 黎平县| 水城县| 天门市| 石门县| 依安县| 临夏县| 镇巴县| 马山县| 清徐县| 柞水县| 垦利县| 阿巴嘎旗| 阿坝县| 台州市| 陇南市| 龙游县| 泸西县| 通辽市| 南昌市| 眉山市| 城固县|