Cyfeiriadur Erthygl
Enw llawn RDB ywRedis database
.
- Fel y mae'r enw'n awgrymu, cronfa ddata Redis yw RDB a ddefnyddir i storio data.
- Felly, trwy ddyfalbarhad RDB, mae'r data a storir yn y cof Redis yn cael ei ysgrifennu i'r ffeil RDB a'i gadw ar y ddisg i sicrhau dyfalbarhad.
- Nodwedd Redis yw y gall barhau â data, hynny yw, ysgrifennu data yn y cof i ddisg i sicrhau nad oes unrhyw ddata yn cael ei golli, a gall hefyd lwytho data o ddisg i'r cof.
Mae gweithrediadau Redis ar y dechrau i gyd yn seiliedig ar gof, felly mae'r perfformiad yn uchel iawn, ond unwaith y bydd y rhaglen ar gau, mae'r data'n cael ei golli.
Felly, mae angen i ni ysgrifennu data cof ar ddisg ar adegau penodol, sef Ciplun mewn jargon.
Wrth adfer, ysgrifennir y ffeil ciplun yn uniongyrchol i'r cof.
Mae hwn hefyd yn un o'r prif wahaniaethau rhwng Redis a Memcached, oherwydd nid oes gan Memcached allu dyfalbarhad.
Ar gyfer dyfalbarhad data cof Redis, mae Redis yn darparu'r dulliau canlynol i ni:
- Dull Ciplun (RDB, Cronfa Ddata Redis): ysgrifennu data cof i ddisg ar ffurf ddeuaidd ar adeg benodol;
- Atodi Ffeil yn Unig (AOF, Atodi Ffeil yn Unig), cofnodwch yr holl orchmynion gweithredu, ac atodi i'r ffeil ar ffurf testun;
- Mae dyfalbarhad hybrid, dull newydd ar ôl Redis 4.0, dyfalbarhad hybrid yn cyfuno manteision RDB ac AOF.Wrth ysgrifennu, ysgrifennwch y data cyfredol yn gyntaf i ddechrau'r ffeil ar ffurf RDB, ac yna arbedwch y gorchmynion gweithredu dilynol i'r ffeil ar ffurf AOF, a all nid yn unig sicrhau cyflymder ailgychwyn Redis, ond hefyd yn lleihau y risg o golli data.
Oherwydd bod gan bob cynllun dyfalbarhad senarios defnydd penodol.
Modd gweithredu dyfalbarhad data cof Redis RDB
- RDB (Cronfa Ddata Redis) yw'r broses o ysgrifennu ciplun cof (Ciplun) ar adeg benodol i ddisg ar ffurf ddeuaidd.
- Cipluniau cof yw'r hyn a ddywedasom uchod.Mae'n cyfeirio at gofnod cyflwr data yn y cof ar adeg benodol.
- Mae hyn yn debyg i dynnu llun.Pan fyddwch chi'n tynnu llun o ffrind, gall llun gofnodi'r holl ddelweddau o'r ffrind ar unwaith.
- Mae dwy ffordd i sbarduno RDB: mae un yn sbarduno â llaw, a'r llall yn sbarduno awtomatig.
Sbardunwch yr RDB â llaw
Mae dwy lawdriniaeth i sbarduno dyfalbarhad â llaw:save
和bgsave
.
Y prif wahaniaeth rhyngddynt yw a ddylid rhwystro gweithrediad prif edefyn Redis ai peidio.
1. arbed Gorchymyn
Bydd gweithredu'r gorchymyn arbed ar ochr y cleient yn sbarduno dyfalbarhad Redis, ond bydd hefyd yn gwneud Redis mewn cyflwr blocio. Ni fydd yn ymateb i orchmynion a anfonir gan gleientiaid eraill nes bod yr RDB yn parhau, felly rhaid ei ddefnyddio'n ofalus yn yr amgylchedd cynhyrchu.
127.0.0.1:6379> save OK 127.0.0.1:6379>
Dangosir y broses o weithredu'r gorchymyn yn y ffigur
2. gorchymyn bgsave
- Arbed cefndir yw bgsave (arbed cefndir).
- Y gwahaniaeth mwyaf rhyngddo a'r gorchymyn arbed yw y bydd bgsave yn fforchio proses plentyn i berfformio dyfalbarhad.
- Mae'r broses gyfan dim ond pan fydd y broses plentyn yn fforc.Dim ond rhwystr byr sydd.
- Ar ôl i'r broses plentyn gael ei chreu, gall prif broses Redis ymateb i geisiadau gan gleientiaid eraill.
gyda rhwystro'r broses gyfansave
o'i gymharu â'r gorchymynbgsave
Mae gorchymyn yn amlwg yn fwy addas i ni ei ddefnyddio.
127.0.0.1:6379> bgsave Background Saving started # 提示开始后台保存 127.0.0.1:6379>
Sbardun RDB yn awtomatig
Ar ôl siarad am sbarduno â llaw, gadewch i ni edrych ar sbarduno awtomatig.Gallwn ffurfweddu'r amodau ar gyfer sbarduno awtomatig yn y ffeil ffurfweddu.
1. achub mn
- mae arbed mn yn golygu, o fewn m eiliad, os bydd bysellau n yn newid, mae dyfalbarhad yn cael ei sbarduno'n awtomatig.Gellir dod o hyd i baramedrau m ac n yn y ffeil ffurfweddu Redis.
- Er enghraifft, arbed 60 1 yn golygu bod o fewn 60 eiliad, cyn belled â bod un newidiadau allweddol, bydd dyfalbarhad RDB yn cael ei sbarduno.
- Hanfod dyfalbarhad sbarduno'n awtomatig yw, os bodlonir yr amodau sbarduno gosodedig, bydd Redis yn gweithredu'r gorchymyn bgsave unwaith yn awtomatig.
Nodyn: Pan osodir gorchmynion mn arbed lluosog, bydd unrhyw un amod yn sbarduno dyfalbarhad.
Er enghraifft, rydym yn gosod y ddau orchymyn arbed mn canlynol:
save 60 10 save 600 20
- Pan fydd gwerth allweddol Redis yn newid 60 gwaith o fewn 10au, bydd dyfalbarhad yn cael ei sbarduno;
- Os yw'r allwedd Redis yn newid o fewn 60au, ac os yw'r gwerth yn newid llai na 10 gwaith, bydd Redis yn penderfynu a yw'r allwedd Redis wedi'i haddasu o leiaf 600 gwaith o fewn 20au, ac os felly, ysgogi dyfalbarhad.
2. Flushall
- Defnyddir y gorchymyn flushall i fflysio cronfa ddata Redis.
- Rhaid ei ddefnyddio'n ofalus mewn amgylchedd cynhyrchu.
- Pan fydd Redis yn gweithredu'r gorchymyn flushall, mae'n sbarduno dyfalbarhad awtomatig ac yn clirio'r ffeil RDB.
3. Meistr-gaethweision synchronization sbardun
Mewn dyblygu Redis meistr-gaethwas, pan fydd y nod caethweision yn cyflawni gweithrediad atgynhyrchu llawn, bydd y prif nod yn gweithredu'r gorchymyn bgsave i anfon y ffeil RDB i'r nod caethweision.Mae'r broses hon yn sbarduno dyfalbarhad Redis yn awtomatig.
Gall Redis gwestiynu'r paramedrau cyfluniad cyfredol trwy orchmynion.
Fformat y gorchymyn ymholiad yw:config get xxx
Er enghraifft, os ydych chi am gael gosodiad enw storio ffeil RDB, gallwch chi ei ddefnyddio config get dbfilename
.
Mae'r effaith gweithredu fel a ganlyn:
127.0.0.1:6379> config get dbfilename 1) "dbfilename" 2) "dump.rdb"
Gan y bydd y gweinydd Redis yn rhwystro wrth lwytho'r ffeil RDB nes bod y llwytho wedi'i gwblhau, gall achosi amser hir ac ni ellir cyrchu'r wefan.
Os ydych chi am ddileu ffeil storfa RDB dump.rdb o Redis â llaw, gallwch ddefnyddio'r gorchymyn canlynol i ddod o hyd i lwybr storio'r ffeil dump.rdb▼
find / -name dump.rdb
- Yna, dileu'r ffeil storfa dump.rdb â llaw trwy SSH.
Mae Redis yn gosod cyfluniad RDB
O ran gosod cyfluniad RDB, gallwch ddefnyddio'r ddwy ffordd ganlynol:
- Addaswch ffeil ffurfweddu Redis â llaw
- Defnyddiwch y gosodiadau llinell orchymyn, config set dir "/ usr/data" yw'r gorchymyn storio i addasu'r ffeil RDB
Nodyn: Gellir cael y ffurfweddiad yn redis.conf trwy config get xxx a'i addasu trwy config set xxx value, ac mae'r dull o addasu ffeil cyfluniad Redis â llaw yn effeithiol yn fyd-eang, hynny yw, ni fydd y paramedrau a osodwyd gan ailgychwyn y gweinydd Redis cael ei golli, ond ei addasu gan ddefnyddio'r gorchymyn, bydd yn cael ei golli ar ôl i Redis ailgychwyn.
Fodd bynnag, os ydych chi am addasu ffeil cyfluniad Redis â llaw i ddod i rym ar unwaith, mae angen i chi ailgychwyn y gweinydd Redis, ac nid oes angen ailgychwyn gweinydd Redis ar y dull gorchymyn.
Adfer ffeil RDB
Pan fydd y gweinydd Redis yn cychwyn, os yw'r ffeil RDB dump.rdb yn bodoli yn y cyfeiriadur gwraidd Redis, bydd Redis yn llwytho'r ffeil RDB yn awtomatig i adfer data parhaus.
Os nad oes ffeil dump.rdb yn y cyfeiriadur gwraidd, symudwch y ffeil dump.rdb i gyfeiriadur gwraidd Redis.
Wrth gwrs, mae gwybodaeth log pan fydd Redis yn dechrau, a fydd yn dangos a yw'r ffeil RDB yn cael ei lwytho.
Mae'r gweinydd Redis yn blocio wrth lwytho'r ffeil RDB nes bod y llwytho wedi'i gwblhau.
Nawr rydym yn gwybod bod dyfalbarhad RDB wedi'i rannu'n ddwy ffordd: sbarduno â llaw a sbarduno awtomatig:
- Ei fantais yw bod y ffeil storio yn fach ac mae adfer data yn gyflymach pan ddechreuir Redis.
- Yr anfantais yw bod perygl o golli data.
Mae adfer ffeiliau RDB hefyd yn syml iawn, rhowch y ffeiliau RDB yn y cyfeiriadur gwraidd o Redis, a bydd Redis yn llwytho ac adfer data yn awtomatig pan fydd yn dechrau.
Manteision ac anfanteision RDB
1) manteision RDB
Mae cynnwys RDB yn ddata deuaidd, yn meddiannu llai o gof, yn fwy cryno, ac yn fwy addas fel ffeil wrth gefn;
Mae RDB yn ddefnyddiol iawn ar gyfer adferiad trychineb, mae'n ffeil cywasgedig y gellir ei drosglwyddo i weinydd pell yn gyflymach ar gyfer adferiad gwasanaeth Redis;
Gall RDB wella cyflymder Redis yn fawr, oherwydd bydd y brif broses Redis yn fforchio proses plentyn i barhau â data i ddisg.
Nid yw prif broses Redis yn cyflawni gweithrediadau fel disg I/O;
O'i gymharu â ffeiliau fformat AOF, mae ffeiliau RDB yn ailgychwyn yn gyflymach.
2) Anfanteision RDB
Oherwydd mai dim ond ar gyfnod penodol y gall RDB arbed data, os bydd y gwasanaeth Redis yn cael ei derfynu'n ddamweiniol yn y canol, bydd y data Redis yn cael ei golli am gyfnod o amser;
Proses lle mae angen ffyrch aml ar RDB i'w gadw ar ddisg gan ddefnyddio subentry.
Os yw'r set ddata yn fawr, gall fforc gymryd llawer o amser, ac os yw'r set ddata'n fawr, mae perfformiad y CPU yn wael, a all achosi i Redis fethu â gwasanaethu cleientiaid am ychydig milieiliadau neu hyd yn oed eiliad.
Wrth gwrs, gallwn hefyd analluogi dyfalbarhad i wella effeithlonrwydd gweithredu Redis.
Os nad ydych yn sensitif i golli data, gallwch wneud hyn pan fydd y cleient yn cysylltu config set save ""
Gorchymyn i analluogi dyfalbarhad ar gyfer Redis.
在redis.conf
, os mewnsave
Rhowch sylwadau ar bob ffurfweddiad ar y dechrau, a bydd dyfalbarhad hefyd yn anabl, ond ni wneir hyn yn gyffredinol.
Blog Chen Weiliang Gobeithio ( https://www.chenweiliang.com/ ) shared "Beth yw enw llawn Redis RDB? Modd Gweithredu Dyfalbarhad Data Mewn-Cof Redis RDB, a fydd yn eich helpu chi.
Croeso i chi rannu dolen yr erthygl hon:https://www.chenweiliang.com/cwl-26677.html
Croeso i sianel Telegram o blog Chen Weiliang i gael y diweddariadau diweddaraf!
📚 Mae'r canllaw hwn yn cynnwys gwerth enfawr, 🌟Mae hwn yn gyfle prin, peidiwch â'i golli! ⏰⌛💨
Rhannwch a hoffwch os hoffech chi!
Eich rhannu a'ch hoff bethau yw ein cymhelliant parhaus!