最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis數(shù)據(jù)持久化方式技術(shù)解析

 更新時(shí)間:2021年09月16日 11:54:50   作者:玉成226  
Redis(Remote Dictionary Server ),即遠(yuǎn)程字典服務(wù),是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API

RDB(Redis DataBases)

1、RDB是什么:
在指定的時(shí)間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫(xiě)入磁盤(pán),也就是Snapshot快照,它恢復(fù)時(shí)是將快照文件直接讀到內(nèi)存里。
Redis會(huì)單獨(dú)創(chuàng)建(fork)一個(gè)子進(jìn)程來(lái)進(jìn)行持久化,會(huì)將數(shù)據(jù)寫(xiě)入到一個(gè)臨時(shí)文件中,持久化過(guò)程都結(jié)束了,再用這個(gè)臨時(shí)文件替換上次持久化好的文件。整個(gè)過(guò)程中,主進(jìn)程是不進(jìn)行任何IO操作的,這就確保了極高的性能,如果需要進(jìn)行大規(guī)模數(shù)據(jù)的恢復(fù),且對(duì)于數(shù)據(jù)恢復(fù)的完整性不是非常敏感,那RDB方式是要比AOF方式更加的高效。RDB的缺點(diǎn)是最后一次持久化后的數(shù)據(jù)可能丟失。

2、Fork的作用:
Fork的作用是復(fù)制一個(gè)與當(dāng)前進(jìn)程一樣的進(jìn)程。新進(jìn)程的所有數(shù)據(jù)(變量、環(huán)境變量、程序計(jì)數(shù)器等)數(shù)值都和原進(jìn)程一致,但是是一個(gè)全新的進(jìn)程,并作為原進(jìn)程的子進(jìn)程。

3、Rdb保存的是dump.rdb文件。

4、如何觸發(fā)RDB快照
(1)配置文件中默認(rèn)的快照配置:冷拷貝后重新使用(可以cp dump.rdb dump_new.rdb)。
(2)命令save或者bgsave:Save,只管保存其他不管,全部阻塞;bgsave,redis會(huì)在后臺(tái)異步進(jìn)行快照操作,快照同時(shí)還可以響應(yīng)客戶端請(qǐng)求??梢酝ㄟ^(guò)lastsave命令獲取最后一次成功執(zhí)行快照的時(shí)間。
(3)執(zhí)行flushall命令,也會(huì)產(chǎn)生dump.rdb文件,但里面是空的,無(wú)意義。

5、如何恢復(fù): 將備份文件(dump.rdb)移動(dòng)到redis安裝目錄并啟動(dòng)服務(wù)即可。

6、優(yōu)勢(shì):適合大規(guī)模的數(shù)據(jù)恢復(fù);對(duì)數(shù)據(jù)完整性和一致性要求不高。

7、劣勢(shì):在一定間隔時(shí)間做一次備份,所以如果redis意外down掉的話,就會(huì)丟失最后一次快照后的所有修改。Fork的時(shí)候,內(nèi)存中的數(shù)據(jù)被克隆了一份,大致2倍的膨脹性需要考慮。

8、如何停止:動(dòng)態(tài)所有停止RDB保存規(guī)則的方法:redis-cli config set save “”

總結(jié)

在這里插入圖片描述

1、RDB是一個(gè)非常緊湊的文件。
2、RDB在保存RDB文件時(shí)父進(jìn)程唯一需要做的就是fork出一個(gè)子進(jìn)程,接下來(lái)的工作全部由子進(jìn)程來(lái)做,父進(jìn)程不需要再做其他IO操作,所以RDB持久化方式可以最大化redis的性能。
3、與AOF相比,再恢復(fù)大的數(shù)據(jù)集的時(shí)候,RDB方式會(huì)更快一些。
4、數(shù)據(jù)丟失風(fēng)險(xiǎn)大。
5、RDB需要經(jīng)常fork子進(jìn)程來(lái)保存數(shù)據(jù)集到硬盤(pán)上,當(dāng)數(shù)據(jù)集比較大的時(shí)候,fork的過(guò)程是非常耗時(shí)的,可能會(huì)導(dǎo)致Redis在一些毫秒級(jí)不能響應(yīng)客戶端請(qǐng)求。

AOF(Append Only File)

1、AOF是什么:以日志的形式來(lái)記錄每個(gè)寫(xiě)操作,將Redis執(zhí)行過(guò)的所有寫(xiě)指令記錄下來(lái)(讀操作不記錄),只許追加文件但不可以改寫(xiě)文件,redis啟動(dòng)之初會(huì)讀取該文件重新構(gòu)建數(shù)據(jù),換言之,redis重啟的話就根據(jù)日志文件的內(nèi)容將寫(xiě)指令從前到后執(zhí)行一次以完成數(shù)據(jù)的恢復(fù)工作。

2、rewrite是什么:AOF采用文件追加的方式,文件會(huì)越來(lái)越大為避免出現(xiàn)此種情況,新增了重寫(xiě)機(jī)制,當(dāng)AOF文件的大小超過(guò)所設(shè)定的閾值時(shí),Redis就會(huì)啟動(dòng)AOF文件的內(nèi)容壓縮,只保留可以恢復(fù)數(shù)據(jù)的最小指令集,可以使用命令bgrewriteaof。

3、重寫(xiě)原理:AOF文件持續(xù)增長(zhǎng)而過(guò)大時(shí),會(huì)fork出一條新進(jìn)程來(lái)將文件重寫(xiě)(也是先寫(xiě)臨時(shí)文件最后再rename),遍歷新進(jìn)程的內(nèi)存中數(shù)據(jù),每條記錄有一條的set語(yǔ)句。重寫(xiě)aof文件的操作,并沒(méi)有讀取舊的aof文件,而是將整個(gè)內(nèi)存中的數(shù)據(jù)庫(kù)內(nèi)容用命令的方式重寫(xiě)了一個(gè)新的aof文件,這點(diǎn)和快照點(diǎn)數(shù)類似。

4、重寫(xiě)的觸發(fā)機(jī)制:Redis會(huì)記錄上次重寫(xiě)時(shí)AOF的大小,默認(rèn)配置時(shí)當(dāng)AOF文件大小是上次rewrite后大小的一倍且文件大于64MB時(shí)觸發(fā)。

5、優(yōu)勢(shì):
(1)每秒同步:appendfsync always同步持久化每次發(fā)生數(shù)據(jù)變更會(huì)被立即記錄到磁盤(pán),性能較差但數(shù)據(jù)完整性比較好。
(2)每次修改同步:appendfsync everysec 異步操作,每秒記錄如果一秒內(nèi)宕機(jī),有數(shù)據(jù)丟失。
(3)不同步:appendfsync no 從不同步。

6、劣勢(shì):
(1)相同數(shù)據(jù)集的數(shù)據(jù)而言aof文件要遠(yuǎn)大于rdb文件,恢復(fù)速度慢于rdb。
(2)AOF運(yùn)行效率要慢于rdb,每秒同步策略效率較好,不同步效率和rdb相同。

總結(jié)

在這里插入圖片描述

1、AOF文件是一個(gè)只進(jìn)行追加的日志文件。
2、Redis可以再AOF文件體積變得過(guò)大時(shí),自動(dòng)地在后臺(tái)對(duì)AOF進(jìn)行重寫(xiě)。
3、AOF文件有序地保存了對(duì)數(shù)據(jù)庫(kù)執(zhí)行的所有寫(xiě)入操作,這些寫(xiě)入操作以Redis協(xié)議的格式保存,因此AOF文件的內(nèi)容非常容易被人讀懂,對(duì)文件進(jìn)行分析也很輕松。
4、對(duì)于相同的數(shù)據(jù)集來(lái)說(shuō),AOF文件的體積通常要大于RDB文件的體積。
5、根據(jù)所使用的fsync策略,AOF的速度可能會(huì)慢于RDB。

兩種方式的總結(jié)

1、RDB持久化方式能夠在指定的時(shí)間間隔能對(duì)你的數(shù)據(jù)進(jìn)行快照存儲(chǔ)。
2、AOF持久化方式記錄每次對(duì)服務(wù)器寫(xiě)的操作,當(dāng)服務(wù)器重啟的時(shí)候會(huì)重新執(zhí)行這些命令來(lái)恢復(fù)原始的數(shù)據(jù),AOF文件進(jìn)行后臺(tái)重寫(xiě),使得AOF文件的體積不至于過(guò)大。
3、只做緩存:如果你只希望你的數(shù)據(jù)在服務(wù)器運(yùn)行的時(shí)候存在,你也可以不使用任何持久化方式。

以上就是Redis緩存持久化技術(shù)解析的詳細(xì)內(nèi)容,更多關(guān)于redis持久化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Redis實(shí)現(xiàn)向量相似度搜索

    使用Redis實(shí)現(xiàn)向量相似度搜索

    在自然語(yǔ)言處理領(lǐng)域,有一個(gè)常見(jiàn)且重要的任務(wù)就是文本相似度搜索,所以本文為大家介紹一下如何利用Redis實(shí)現(xiàn)向量相似度搜索,解決文本、圖像和音頻之間的相似度匹配問(wèn)題,需要的可以了解下
    2023-07-07
  • Redis拓展之定時(shí)消息通知實(shí)現(xiàn)詳解

    Redis拓展之定時(shí)消息通知實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了Redis拓展之定時(shí)消息通知實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Redis系列之底層數(shù)據(jù)結(jié)構(gòu)SDS詳解

    Redis系列之底層數(shù)據(jù)結(jié)構(gòu)SDS詳解

    SDS(簡(jiǎn)單動(dòng)態(tài)字符串)是Redis使用的核心數(shù)據(jù)結(jié)構(gòu),用于替代C語(yǔ)言的字符串,以解決長(zhǎng)度獲取慢、內(nèi)存溢出等問(wèn)題,SDS通過(guò)預(yù)分配與惰性釋放策略優(yōu)化內(nèi)存使用,增強(qiáng)安全性,且能存儲(chǔ)文本與二進(jìn)制數(shù)據(jù),可查看源碼src/sds.h和src/sds.c了解更多
    2024-11-11
  • 寶塔中ThinkPHP框架使用Redis的一系列教程

    寶塔中ThinkPHP框架使用Redis的一系列教程

    關(guān)于redis的安裝,在服務(wù)器或者虛擬機(jī)上安裝寶塔面板安裝redis,這樣很簡(jiǎn)單就可以使用redis了,記得安裝redis的時(shí)候不僅要安裝redis軟件,還要進(jìn)入項(xiàng)目使用的php版本中安裝redis擴(kuò)展,然后開(kāi)啟redis軟件
    2023-03-03
  • 分布式使用Redis實(shí)現(xiàn)數(shù)據(jù)庫(kù)對(duì)象自增主鍵ID

    分布式使用Redis實(shí)現(xiàn)數(shù)據(jù)庫(kù)對(duì)象自增主鍵ID

    本文介紹在分布式項(xiàng)目中使用Redis生成對(duì)象的自增主鍵ID,通過(guò)Redis的INCR等命令實(shí)現(xiàn)計(jì)數(shù)器功能,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • RedisAPI原子性操作及原理解析

    RedisAPI原子性操作及原理解析

    這篇文章主要介紹了RedisAPI原子性操作及原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Redis?存儲(chǔ)對(duì)象信息用?Hash?和String的區(qū)別

    Redis?存儲(chǔ)對(duì)象信息用?Hash?和String的區(qū)別

    這篇文章主要介紹了Redis存儲(chǔ)對(duì)象信息用Hash和String的區(qū)別,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Redis腦裂導(dǎo)致數(shù)據(jù)丟失的解決

    Redis腦裂導(dǎo)致數(shù)據(jù)丟失的解決

    本文主要介紹了Redis腦裂導(dǎo)致數(shù)據(jù)丟失的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Redis過(guò)期數(shù)據(jù)是否會(huì)被立馬刪除

    Redis過(guò)期數(shù)據(jù)是否會(huì)被立馬刪除

    這篇文章主要為大家介紹了Redis過(guò)期數(shù)據(jù)會(huì)被立馬刪除么的問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Redis Template使用詳解示例教程

    Redis Template使用詳解示例教程

    RedisTemplate的底層通過(guò)RedisConnectionFactory對(duì)多種Redis驅(qū)動(dòng)進(jìn)行集成,上層通過(guò)RedisOperations提供豐富的API,并結(jié)合Spring基于泛型的bean注入,為開(kāi)發(fā)提供了極大的便利,這篇文章主要介紹了Redis Template使用詳解示例教程,需要的朋友可以參考下
    2023-11-11

最新評(píng)論

乐昌市| 辽阳县| 马边| 克什克腾旗| 赫章县| 微博| 潍坊市| 上高县| 阿巴嘎旗| 汽车| 霍城县| 陆川县| 武强县| 景洪市| 邵东县| 武功县| 于都县| 富川| 巴彦淖尔市| 肥东县| 文山县| 临安市| 景东| 习水县| 彰化市| 崇阳县| 天水市| 商丘市| 定边县| 穆棱市| 南部县| 喜德县| 泸定县| 清镇市| 壤塘县| 屏山县| 措美县| 社会| 新源县| 襄汾县| 石家庄市|