redis存儲(chǔ)方式有哪些

redis存儲(chǔ)方式有哪些

redis其實(shí)就是一個(gè)用C語言寫的一個(gè)程序,這個(gè)程序用來存儲(chǔ) key-value數(shù)據(jù),數(shù)據(jù)先放在內(nèi)存,然后寫入磁盤指定位置。

下面我們梳理一下Redis存儲(chǔ)兩種方式: RDB和AOF ? ? ? ?(推薦學(xué)習(xí):Redis視頻教程

第一種方式:RDB(Redis DataBase)? ? ? ? ??

RDB是將數(shù)據(jù)寫入一個(gè)臨時(shí)文件,持久化結(jié)束后,用這個(gè)臨時(shí)文件替換上次持久化的文件,達(dá)到數(shù)據(jù)恢復(fù)。

rdis database存儲(chǔ)方式,是將數(shù)據(jù)存儲(chǔ)在一個(gè)xxx.rdb的文件中。文件中保存的數(shù)據(jù)就是redis中的內(nèi)存數(shù)據(jù)。默認(rèn)的存儲(chǔ)方式,效率高,對磁盤的訪問比較合理,對內(nèi)存數(shù)據(jù)的監(jiān)控也是有一定臨界值的,保證數(shù)據(jù)盡可能不丟失。

redis.conf

#???In?the?example?below?the?behaviour?will?be?to?save: #???after?900?sec?(15?min)?if?at?least?1?key?changed #???after?300?sec?(5?min)?if?at?least?10?keys?changed #???after?60?sec?if?at?least?10000?keys?changed #???Note:?you?can?disable?saving?completely?by?commenting?out?all?"save"?lines. #???It?is?also?possible?to?remove?all?the?previously?configured?save #???points?by?adding?a?save?directive?with?a?single?empty?string?argument #???like?in?the?following?example: #???save?"" #?持久數(shù)據(jù)的規(guī)則.?RDB持久規(guī)則.?存儲(chǔ)數(shù)據(jù)的文件由dbfilename參數(shù)決定 save?900?1 save?300?10 save?60?10000  #?RDB持久數(shù)據(jù)的文件命名.?可以使用絕對路徑配置,如果沒有路徑配置,在命令運(yùn)行的相對位置開始尋址存在。 dbfilename?dump.rdb

第二種方式:AOF(appendonly file)

AOF是將執(zhí)行過的指令記錄下來,數(shù)據(jù)恢復(fù)時(shí)按照從前到后的順序再將指令執(zhí)行一遍,實(shí)現(xiàn)數(shù)據(jù)恢復(fù)。

其中,AOF默認(rèn)關(guān)閉,開啟方法,修改配置文件redis.conf:appendonly yes

append of file 存儲(chǔ)方式。對磁盤和IO的資源需求,比rdb方式高很多。對redis服務(wù)器的性能有很大的影響。Aof和rdb可以同時(shí)開啟,但是,在redis重啟的時(shí)候,會(huì)優(yōu)先讀取aof中保存的數(shù)據(jù)變化日志。不推薦同時(shí)啟用,對磁盤的壓力和IO的壓力太高。推薦使用rdb。

#?是否啟用append?of?file持久化方式.默認(rèn)關(guān)閉. #?每秒持久一次數(shù)據(jù).?以追加的方式,持久到數(shù)據(jù)文件. appendonly?no  #?aof持久方式的文件名稱. appendfilename?"appendonly.aof"

更多Redis相關(guān)技術(shù)文章,請?jiān)L問Redis視頻教程欄目進(jìn)行學(xué)習(xí)!

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享