中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

redis中RDB數據持久化的使用方法和應用場景

發布時間:2020-05-22 16:01:14 來源:億速云 閱讀:315 作者:鴿子 欄目:關系型數據庫

和Memcache不同的是,Redis能夠讓數據持久化到硬盤中。Redis目前提供三種持久化方式,RDB、AOF、RDB-AOF混合持久化。數據的安全及備份是運維工作中的重點,下面來看看這RDB持久化的介紹及應用場景。

Redis默認使用的持久化方式是RDB,RDB文件占用空間很小,所以生成文件速度及加載都很快。

生成RDB文件

生成RDB文件分為手動方式以及自動方式

首先看手動方式,有兩個命令可以觸發生成RDB文件。save及bgsave,他們的區別是save操作會阻塞redis,直到RDB文件生成結束。而bgsave,則不會阻塞redis,它會fork出一個子進程,在子進程中完成rdb文件的生成。

自動方式則又有幾種情況,分別如下:

  • 當前鍵的修改操作達到redis中Rdb的配置要求

  • 主從節點進行全量復制的時候

  • 重啟或關閉redis的時候(Redis持久化方式為RDB)

這里,我們重點來看下rdb的相關配置。

rdb文件保存的目錄是有dir配置項決定的

# rdb文件保存目錄
dir "/usr/local/redis/var"

而文件名則是由dbfilename決定

dbfilename "dump.rdb"

觸發機制則有save項決定

save 900 1
save 300 10
save 60 10000

上面的配置的含義是,當900秒內有1次修改操作就觸發、當300秒內用10次修改操作就觸發,當60秒內有10000次修改操作就觸發。

另外rdbcompression配置項就決定是否壓縮rdb文件,默認為yes,表示壓縮,這也是推薦的方式。

RDB文件生成流程

redis中RDB數據持久化的使用方法和應用場景

因為save幾乎已經廢棄,redis自動觸發都是采用bgsave操作,所以這里只介紹bgsave的流程。

  1. 當執行bgsave時候,如果當前已有子進程的話,那么redis就會直接退出,不執行下面的操作。沒有則往下執行。

  2. redis主進程會fork出一個子進程。fork的時候會阻塞redis,但時間非常短。

  3. fork成功后,redis主進程繼續做自己該做的事。

  4. 子進程生成新的RDB文件,并替換舊的rdb文件。

  5. 當替換操作完成后,子進程會通知父進程,父進程就會保存此次操作的相關信息。

應用場景

RDB文件體積小,生成及加載快,但是rdb持久化方式不能做到實時持久化,異常情況下容易導致數據丟失。另外,不同版本的rdb文件可能存在不兼容的情況。

通過上面的介紹,可以知道,RDB文件非常適合做容災備份,比如每天凌晨生成RDB文件。另外,如果redis里存放的數據不是太重要,比如使用redis做緩存,丟失部分數據沒有影響的話,使用RDB通常是更佳的方式。

再介紹一個常見的問題的解決方法,redis數據存放的分區快要寫滿時,如何在不停止redis下將數據寫到另一個分區中。我們可以使用config set dir '新分區目錄' 修改rdb文件存放的目錄。然后執行bgsave生成新的RDB文件到新的目錄中。

以上就是redis數據持久化之RDB的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

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

AI

白城市| 南投县| 泽普县| 攀枝花市| 五河县| 女性| 皮山县| 息烽县| 保靖县| 拜泉县| 拉孜县| 新泰市| 楚雄市| 铜山县| 望城县| 曲沃县| 平原县| 贡觉县| 离岛区| 壶关县| 吉林市| 永新县| 五莲县| 合江县| 红原县| 贡山| 旌德县| 青冈县| 邵阳市| 石嘴山市| 金平| 蚌埠市| 滦平县| 尉犁县| 开阳县| 九台市| 平定县| 平南县| 德格县| 临沧市| 夏河县|