亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

概述:對(duì)于內(nèi)存級(jí)的KV數(shù)據(jù)庫(kù)來說,將數(shù)據(jù)定時(shí)持久化到磁盤時(shí)一個(gè)必要的操作,因?yàn)橐坏嚯娀騞own機(jī),就可能導(dǎo)致存儲(chǔ)在內(nèi)存中的數(shù)據(jù)丟失,顯然這不是我們能接受的,對(duì)于kv數(shù)據(jù)庫(kù)來說,我們用得最多的無非就是memcached、TT 、etcd、redis等,而對(duì)于redis來說,相信目前已是it項(xiàng)目中使用最常見的緩存KV數(shù)據(jù)庫(kù)了。那么它有什么策略實(shí)現(xiàn)數(shù)據(jù)的持久化操作呢? 下面就一起來看看吧。

 

Redis有兩種持久化方式,分別是RDB和AOF , 其中rdb是以間隔時(shí)間內(nèi)定義key變化操作數(shù)來觸發(fā)數(shù)據(jù)持久化;而oaf是以配置持久化區(qū)間來操作持久化動(dòng)作。


RDB持久化:(默認(rèn)持久化方式)
在指定時(shí)間間隔內(nèi),將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤,恢復(fù)時(shí)是將快照文件直接讀到內(nèi)存中,來達(dá)到恢復(fù)數(shù)據(jù)的。在默認(rèn)情況下, Redis 將數(shù)據(jù)庫(kù)快照保存在名字為 dump.rdb 的二進(jìn)制文件中。通過觸發(fā)快照的形式,來做到將指定時(shí)間間隔內(nèi)的數(shù)據(jù)持久化到dump.rdb。


RDB持久化的redis.conf 配置項(xiàng):
save 900 1
save 300 10
save 60 1000

 


RDB優(yōu)點(diǎn)與缺點(diǎn):
rdb是保存一個(gè)文件,顯然恢復(fù)時(shí)會(huì)方便快速,另外是觸發(fā)機(jī)制類型,明顯寫入磁盤不會(huì)太頻繁; 但缺點(diǎn)也很明顯,在數(shù)據(jù)要求可靠性和一致性很高時(shí),存在數(shù)據(jù)丟失的情況,原因是rdb使用的是間斷性或階段性的觸發(fā)式持久化,可能會(huì)數(shù)據(jù)沒持久化前故障,導(dǎo)致數(shù)據(jù)丟失。
 


AOF持久化 (默認(rèn)不開啟)
以日志的形式記錄Redis每一個(gè)寫操作,將Redis執(zhí)行過的所有寫指令記錄下來(讀操作不記錄),只許追加文件不可以改寫文件,redis啟動(dòng)之后會(huì)讀取Appendonly.aof文件來實(shí)現(xiàn)重新恢復(fù)數(shù)據(jù),完成恢復(fù)數(shù)據(jù)的工作。默認(rèn)不開啟,需要將redis.conf中的appendonly no改為yes后,重新啟動(dòng)Redis。
 


AOF持久化的redis.conf 開啟配置項(xiàng)目 :
appendonly yes
 


AOF持久化策略方式:
appendfsync always:每修改同步,每一次發(fā)生數(shù)據(jù)變更都會(huì)持久化到磁盤上,性能較差,但數(shù)據(jù)完整性較好。
appendfsync everysec: 每秒同步,每秒內(nèi)記錄操作,異步操作,如果一秒內(nèi)宕機(jī),有數(shù)據(jù)丟失。
appendfsync no:不同步。
 


數(shù)據(jù)恢復(fù):
重啟Redis時(shí),如果dump.rdb與appendfsync.aof同時(shí)都存在時(shí),Redis會(huì)自動(dòng)讀取appendfsync.aof文件,通過該文件中對(duì)數(shù)據(jù)庫(kù)的日志操作,來實(shí)現(xiàn)數(shù)據(jù)的恢復(fù)。當(dāng)然如果該文件被破壞,我們可以通過redis-check-aof工具來修復(fù),如redis-check-aof --fix能修復(fù)破損的appendfsync.aof文件,當(dāng)然如果dump.rdb文件有破損,我們也可以用redis-check-rdb工具來修復(fù),如果appendfsync.aof文件破損了,是啟動(dòng)不了客戶端的,也就是無法完成數(shù)據(jù)的恢復(fù)。
 


AOF優(yōu)點(diǎn)與缺點(diǎn):
appendfsync always: 每修改同步,每一次發(fā)生數(shù)據(jù)變更都會(huì)持久化到磁盤上,性能較差,但數(shù)據(jù)完整性較好。
appendfsync everysec: 每秒同步,每秒內(nèi)記錄操作,異步操作,如果一秒內(nèi)宕機(jī),有數(shù)據(jù)丟失。
appendfsync no: 不同步。


appendfsync.aof文件要大于dump.rdb,如果aof同步文件持久化,會(huì)實(shí)時(shí)操作磁盤,因此會(huì)消耗一定的性能。 恢復(fù)速度方面aof會(huì)比rdb慢。
關(guān)于aof重寫機(jī)制:
當(dāng)AOF文件一直被追加,這就可能導(dǎo)致AOF文件過于龐大。因此,為了避免這種狀況,Redis新增了重寫機(jī)制,當(dāng)AOF文件的大小超過所指定的閾值時(shí),Redis會(huì)自動(dòng)啟用AOF文件的內(nèi)容壓縮,只保留可以恢復(fù)數(shù)據(jù)的最小指令集,可以使用命令bgrewiteaof。
觸發(fā)機(jī)制:Redis會(huì)記錄上一次重寫時(shí)的AOF大小,默認(rèn)配置是當(dāng)AOF文件大小是上一次的一倍并且大于64m時(shí),會(huì)觸發(fā)從寫機(jī)制。
例如配置:

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

分享到:
標(biāo)簽:redis
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定