Lithini igama elipheleleyo leRedis RDB? I-Redis ye-RDB yememori yedatha yokuzingisa indlela yokusebenza

Igama elipheleleyo le-RDB nguRedis database,

  • Njengoko igama libonisa, i-RDB yi-database ye-Redis esetyenziselwa ukugcina idatha.
  • Ngoko ke, ngokuzingisa kwe-RDB, idatha egcinwe kwimemori ye-Redis ibhaliwe kwifayile ye-RDB kwaye igcinwe kwidiski ukufezekisa ukuzingisa.
  • Isici seRedis kukuba sinokuqhubeka nedatha, oko kukuthi, bhala idatha kwimemori kwidiski ukuqinisekisa ukuba akukho datha elahlekileyo, kwaye inokulayisha idatha kwidiski kwimemori.

Lithini igama elipheleleyo leRedis RDB? I-Redis ye-RDB yememori yedatha yokuzingisa indlela yokusebenza

Imisebenzi yeRedis ekuqaleni isekelwe kwimemori, ngoko ukusebenza kuphezulu kakhulu, kodwa xa inkqubo ivaliwe, idatha ilahlekile.

Ke ngoko, kufuneka sibhale idatha yememori kwidiski ngamaxesha achaziweyo, eyi-Snapshot kwijargon.

Xa ubuyisela, ifayile ye-snapshot ibhalwa ngokuthe ngqo kwimemori.

Oku kukwangomnye umahluko omkhulu phakathi kweRedis kunye neMemcached, kuba iMemcached ayinakho ukuzingisa.

Ukuzingisa kwedatha yememori yeRedis, iRedis isinika ezi ndlela zilandelayo:

  • Indlela ye-Snapshot (RDB, Redis DataBase): bhala idatha yememori kwidiski kwifom yokubini ngomzuzu othile;
  • Faka iFayile Kuphela (AOF, Fakela Kuphela iFayile), urekhode yonke imiyalelo yokusebenza, kwaye udibanise kwifayile kwifom yokubhaliweyo;
  • Ukuphikelela kwe-Hybrid, indlela entsha emva kweRedis 4.0, ukunyamezela kwe-hybrid kudibanisa iinzuzo ze-RDB kunye ne-AOF.Xa ubhala, bhala kuqala idatha yangoku ukuya ekuqaleni kwefayile ngendlela ye-RDB, kwaye emva koko ugcine imiyalelo yokusebenza elandelayo kwifayile ngendlela ye-AOF, engenakuqinisekisa kuphela isantya sokuqalisa kabusha i-Redis, kodwa nokunciphisa. umngcipheko wokulahleka kwedatha .

Ngenxa yokuba inkqubo nganye yokuzingisa ineemeko ezithile zokusetyenziswa.

I-Redis ye-RDB yememori yedatha yokuzingisa imo yokusebenza

  • I-RDB (iRedis DataBase) yinkqubo yokubhala i-snapshot yememori (Snapshot) ngexesha elithile kwidiski kwifom yokubini.
  • I-Memory snapshots yile nto siyithethile ngasentla.Ibhekisela kwirekhodi yelizwe ledatha kwimemori ngexesha elithile.
  • Oku kufana nokuthatha ifoto.Xa ufota umhlobo wakho, ifoto inokurekhoda ngoko nangoko yonke imifanekiso yomhlobo wakho.
  • Kukho iindlela ezimbini zokuqalisa i-RDB: enye iyenza ngesandla, kwaye enye iyenza ngokuzenzekelayo.

Qalisa ngesandla i-RDB

Kukho imisebenzi emibini yokuqalisa ukuzingisa ngesandla:saveKunye kunyebgsave,

Umahluko ophambili phakathi kwabo kukuba okanye ukuvala ukuphunyezwa kweRedis main thread.

1. gcina umyalelo

Ukuphumeza umyalelo ogciniweyo kwicala lomxhasi kuyakuxhokonxa ukuzingisa kweRedis, kodwa kuyakwenza kwakhona iRedis kwindawo yokuthintela.Ayiyi kuphendula kwimiyalelo ethunyelwe ngabanye abathengi de i-RDB iqhubeke, ngoko ke kufuneka isetyenziswe ngononophelo. indawo yemveliso.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Inkqubo yokwenza umyalelo iboniswe kumzobo 

2. bgsave umyalelo

  • bgsave (gcina ngasemva) lugcino lwangasemva.
  • Owona mahluko mkhulu phakathi kwayo kunye nomyalelo wogcino kukuba i-bgsave iyakwenza inkqubo yomntwana ukwenza ukuzingisa.
  • Yonke le nkqubo yenzeka kuphela xa inkqubo yomntwana ifolokhwe.Kukho ukuvaleka nje okufutshane.
  • Emva kokuba inkqubo yomntwana idalwe, inkqubo ephambili yeRedis inokuphendula izicelo zabanye abathengi.

ngokuthintela yonke inkqubosavexa kuthelekiswa nomyalelobgsaveUmyalelo ngokucacileyo ufanelekile ngakumbi ukuba siwusebenzise.

127.0.0.1:6379> bgsave
Background Saving started # 提示开始后台保存 
127.0.0.1:6379>

RDB ngokuzenzekelayo

Emva kokuthetha ngokuqalisa ngesandla, makhe sijonge ukuqalisa ngokuzenzekelayo.Singakwazi ukuqwalasela iimeko zokuqalisa ngokuzenzekelayo kwifayile yoqwalaselo.

1. gcina mn

  • gcina u-mn kuthetha ukuba ngaphakathi kwe-m imizuzwana, ukuba u-n amaqhosha ayatshintsha, ukuzingisa kuyavuswa ngokuzenzekelayo.Iiparamitha m kunye n inokufumaneka kwifayile yoqwalaselo yeRedis.
  • Umzekelo, ukonga u-60 1 kuthetha ukuba ngaphakathi kwemizuzwana engama-60, nje ukuba isitshixo sitshintshile, ukuzingisa kwe-RDB kuya kuqhutywa.
  • Undoqo wokuphembelela ngokuzenzekelayo ukuzingisa kukuba, ukuba iimeko zokumisela iseti zifezekisiwe, iRedis iya kwenza ngokuzenzekelayo umyalelo we-bgsave kube kanye.

Qaphela: Xa imiyalelo yogcino emininzi isetiwe, nayiphi na imeko enye iyakubangela ukuzingisa.

Umzekelo, siseta le miyalelo mibini ilandelayo gcina mn:

save 60 10
save 600 20
  • Xa ixabiso eliphambili leRedis litshintsha amaxesha e-60 phakathi kwe-10s, ukuzingisa kuya kubangelwa;
  • Ukuba isitshixo seRedis sitshintsha ngaphakathi kwe-60s, kwaye ukuba ixabiso litshintsha ngaphantsi kwamaxesha e-10, ngoko i-Redis iya kugqiba ukuba isitshixo seRedis sitshintshiwe ubuncinane ngamaxesha angama-600 phakathi kwe-20s, kwaye ukuba kunjalo, qalisa ukuzingisa.

2. Flushall

  • Umyalelo we-flushall usetyenziselwa ukugungxula i-Redis database.
  • Kufuneka isetyenziswe ngononophelo kwindawo yemveliso.
  • Xa i-Redis iphumeza umyalelo we-flushall, ibangela ukuzingisa okuzenzekelayo kwaye icoca ifayile ye-RDB.

3. I-master-slave synchronization trigger

KwiRedis master-slave replication, xa i-node yekhoboka yenza umsebenzi wokuphindaphinda ngokupheleleyo, i-master node iya kwenza umyalelo we-bgsave ukuthumela ifayile ye-RDB kwindawo yekhoboka.

I-Redis inokubuza iiparamitha zoqwalaselo lwangoku ngemiyalelo.

Ubume bomyalelo wombuzo ngulo:config get xxx

Umzekelo, ukuba ufuna ukufumana useto lwegama logcino lwefayile yeRDB, ungasebenzisa config get dbfilename ,

Isiphumo sokwenziwa simi ngolu hlobo lulandelayo:

127.0.0.1:6379> config get dbfilename
1) "dbfilename"
2) "dump.rdb"

Ekubeni umncedisi weRedis uya kuvala xa ulayisha ifayile ye-RDB kude kube yilapho ukulayisha kugqityiwe, kunokubangela ixesha elide kwaye iwebhusayithi ayinakufumaneka.

Ukuba ufuna ukucima ngesandla i-RDB cache ifayile dump.rdb yeRedis, ungasebenzisa lo myalelo ulandelayo ukufumana indlela yogcino lwefayile yokulahla.rdb▼

find / -name dump.rdb
  • Emva koko, cima ngesandla i-dump.rdb cache ifayile nge-SSH.

IRedis icwangcisa ubumbeko lweRDB

Ngokumalunga nokuseta uqwalaselo lwe-RDB, ungasebenzisa ezi ndlela zimbini zilandelayo:

  1. Guqula ngesandla iRedis ifayile yoqwalaselo
  2. Sebenzisa useto lwelayini yomyalelo, config set dir "/usr/data" ngumyalelo wokugcina ukuguqula ifayile yeRDB

Qaphela: Uqwalaselo kwi redis.conf lunokufunyanwa ngokufumana i-xxx kwaye iguqulwe ngexabiso le-config seti ye-xxx, kwaye indlela yokuguqula ngesandla ifayile yoqwalaselo ye-Redis iyasebenza kwihlabathi jikelele, oko kukuthi, iiparameters ezibekwe ngokuqalisa kwakhona iseva yeRedis aziyi kuthi. ilahleka, kodwa ilungiswe kusetyenziswa umyalelo , iya kulahleka emva kokuba iRedis iqale kwakhona.

Nangona kunjalo, ukuba ufuna ukuguqula ngesandla ifayile yokucwangcisa iRedis ukuba isebenze ngokukhawuleza, kufuneka uqalise kwakhona iseva yeRedis, kwaye indlela yomyalelo ayifuni ukuqalisa kwakhona iseva yeRedis.

Ukubuyiselwa kwefayile yeRDB

Xa umncedisi weRedis eqala, ukuba ifayile ye-RDB i-dump.rdb ikhona kwi-Redis root directory, i-Redis iya kulayisha ngokuzenzekelayo ifayile ye-RDB ukubuyisela idatha eqhubekayo.

Ukuba akukho fayile yokulahla.rdb kulawulo lweengcambu, nceda uhambise i dump.rdb ifayile kulawulo lweengcambu lwe Redis kuqala.

Ewe, kukho ulwazi lwelogi xa iRedis iqala, eya kubonisa ukuba ifayile yeRDB ilayishiwe.

Umncedisi weRedis uyavala ngelixa ulayisha ifayile yeRDB de ukulayisha kugqitywe.

Ngoku siyazi ukuba ukuzingisa kwe-RDB kwahlulwe ngeendlela ezimbini: ukuqalisa ngesandla kunye nokuqalisa ngokuzenzekelayo:

  1. Inzuzo yayo kukuba ifayile yokugcina incinci kwaye ukubuyiswa kwedatha kukhawuleza xa iRedis iqaliswa.
  2. Icala elisezantsi kukuba kukho umngcipheko wokulahleka kwedatha.

Ukubuyiswa kweefayile ze-RDB nako kulula kakhulu.Beka nje iifayile ze-RDB kwi-root directory ye-Redis, kwaye i-Redis iya kulayisha ngokuzenzekelayo kwaye ibuyisele idatha xa iqala.

Iinzuzo kunye neengxaki zeRDB

1) Izibonelelo zeRDB

Umxholo we-RDB yidatha yokubini, ithatha imemori encinci, ihlangene ngakumbi, kwaye ifaneleke ngakumbi njengefayile yokugcina;

I-RDB iluncedo kakhulu ekubuyiseleni intlekele, yifayile ecinezelweyo enokudluliselwa kwiseva ekude ngokukhawuleza kwinkonzo yokubuyisela iRedis;

I-RDB inokuphucula kakhulu isantya seRedis, kuba inkqubo ephambili yeRedis iya kufoka inkqubo yomntwana ukuba iqhubeke idatha kwidiski.

Inkqubo ephambili yeRedis ayenzi imisebenzi efana nediski I/O;

Xa kuthelekiswa neefayile zefomati ye-AOF, iifayile ze-RDB ziqala kwakhona ngokukhawuleza.

2) Izinto ezingeloncedo kwi-RDB

Ngenxa yokuba i-RDB inokugcina idatha kuphela ngexesha elithile, ukuba inkonzo ye-Redis iphelile ngengozi phakathi, idatha ye-Redis iya kulahleka ixesha elithile;

Inkqubo apho i-RDB ifuna iifolokhwe rhoqo ukuyigcina kwidiski usebenzisa i-subentry.

Ukuba i-dataset inkulu, ifolokhwe ingadla ixesha, kwaye ukuba i-dataset inkulu, ukusebenza kwe-CPU kubi, oku kunokubangela ukuba i-Redis ingakwazi ukukhonza abathengi kwii-milliseconds ezimbalwa okanye okwesibini.

Ewe kunjalo, sinokukhubaza ukuzingisa ukuphucula ukusebenza kakuhle kweRedis.

Ukuba awukhathali kwilahleko yedatha, unokwenza oku xa umxhasi exhuma config set save "" Umyalelo wokukhubaza ukuzingisa kweRedis.

Inredis.conf, ukuba kwisaveXela lonke uqwalaselo ekuqaleni, kwaye ukuzingisa kuya kucinywa, kodwa oku akwenziwa jikelele.

Ndiyathemba Chen Weiliang Blog ( https://www.chenweiliang.com/ ) kwabelwane "Lingubani igama elipheleleyo leRedis RDB? I-Redis i-RDB kwi-Memory Data Persistence Operation Mode, eluncedo kuwe.

Wamkelekile ukwabelana ngekhonkco leli nqaku:https://www.chenweiliang.com/cwl-26677.html

Wamkelekile kwisitishi seTelegram sebhlog kaChen Weiliang ukufumana uhlaziyo lwamva nje!

🔔 Yiba ngowokuqala ukufumana iSikhokelo sokuSetyenziswa kweSixhobo se-"ChatGPT yeNtengiso ye-AI" kuluhlu oluphezulu lwetshaneli! 🌟
📚 Esi sikhokelo sinexabiso elikhulu, 🌟Eli lithuba elinqabileyo, ungaliphoswa! ⏰⌛💨
Yabelana kwaye uthanda ukuba uyathanda!
Ukwabelana kwakho kunye nezinto ozithandayo ziyinkuthazo yethu eqhubekayo!

 

Shiya uluvo

Idilesi ye-imeyile ayizukupapashwa. Iinkalo ezifunekayo zisetyenzisiwe * Ileyibheli

skrolela phezulu