亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    redis數(shù)據(jù)持久化之RDB

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

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

    生成RDB文件

    生成RDB文件分為手動(dòng)方式以及自動(dòng)方式。

    首先看手動(dòng)方式,有兩個(gè)命令可以觸發(fā)生成RDB文件。save及bgsave,他們的區(qū)別是save操作會(huì)阻塞redis,直到RDB文件生成結(jié)束。而bgsave,則不會(huì)阻塞redis,它會(huì)fork出一個(gè)子進(jìn)程,在子進(jìn)程中完成rdb文件的生成。

    自動(dòng)方式則又有幾種情況,分別如下:

    • 當(dāng)前鍵的修改操作達(dá)到redis中Rdb的配置要求

    • 主從節(jié)點(diǎn)進(jìn)行全量復(fù)制的時(shí)候

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

    這里,我們重點(diǎn)來看下rdb的相關(guān)配置。

    rdb文件保存的目錄是有dir配置項(xiàng)決定的

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

    而文件名則是由dbfilename決定

    dbfilename "dump.rdb"

    觸發(fā)機(jī)制則有save項(xiàng)決定

    save 900 1 save 300 10 save 60 10000

    上面的配置的含義是,當(dāng)900秒內(nèi)有1次修改操作就觸發(fā)、當(dāng)300秒內(nèi)用10次修改操作就觸發(fā),當(dāng)60秒內(nèi)有10000次修改操作就觸發(fā)。

    另外rdbcompression配置項(xiàng)就決定是否壓縮rdb文件,默認(rèn)為yes,表示壓縮,這也是推薦的方式。

    RDB文件生成流程

    redis數(shù)據(jù)持久化之RDB

    因?yàn)閟ave幾乎已經(jīng)廢棄,redis自動(dòng)觸發(fā)都是采用bgsave操作,所以這里只介紹bgsave的流程。

    1. 當(dāng)執(zhí)行bgsave時(shí)候,如果當(dāng)前已有子進(jìn)程的話,那么redis就會(huì)直接退出,不執(zhí)行下面的操作。沒有則往下執(zhí)行。

    2. redis主進(jìn)程會(huì)fork出一個(gè)子進(jìn)程。fork的時(shí)候會(huì)阻塞redis,但時(shí)間非常短。

    3. fork成功后,redis主進(jìn)程繼續(xù)做自己該做的事。

    4. 子進(jìn)程生成新的RDB文件,并替換舊的rdb文件。

    5. 當(dāng)替換操作完成后,子進(jìn)程會(huì)通知父進(jìn)程,父進(jìn)程就會(huì)保存此次操作的相關(guān)信息。

    應(yīng)用場(chǎng)景

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

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

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

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)