Wat is die volle naam van Redis RDB? Redis RDB geheue data volharding operasie modus

Die volle naam van RDB isRedis database.

  • Soos die naam aandui, is RDB 'n Redis-databasis wat gebruik word om data te stoor.
  • Daarom, deur RDB-volharding, word die data wat in die Redis-geheue gestoor is, na die RDB-lêer geskryf en op die skyf gestoor om volharding te verkry.
  • Die kenmerk van Redis is dat dit data kan voortduur, dit wil sê, data in die geheue na skyf skryf om te verseker dat geen data verlore gaan nie, en kan ook data van skyf na die geheue laai.

Wat is die volle naam van Redis RDB? Redis RDB geheue data volharding operasie modus

Die bedrywighede van Redis aan die begin is almal gebaseer op geheue, so die werkverrigting is baie hoog, maar sodra die program gesluit is, is die data verlore.

Daarom moet ons in-geheue-data na die skyf skryf met gespesifiseerde intervalle, wat in jargon Snapshot is.

Wanneer dit herstel word, word die foto-lêer direk na die geheue geskryf.

Dit is ook een van die belangrikste verskille tussen Redis en Memcached, want Memcached het geen volhardingsvermoë nie.

Vir die volharding van Redis-geheuedata, voorsien Redis ons van die volgende metodes:

  • Snapshot metode (RDB, Redis DataBase): skryf geheue data na skyf in binêre vorm op 'n sekere oomblik;
  • Voeg slegs lêer by (AOF, Voeg slegs lêer by), teken alle bewerkingsbevele aan en voeg dit in teksvorm by die lêer;
  • Hibriede volharding, 'n nuwe metode na Redis 4.0, hibriede volharding kombineer die voordele van RDB en AOF.Wanneer jy skryf, skryf eers die huidige data aan die begin van die lêer in die vorm van RDB, en stoor dan die daaropvolgende operasie-opdragte in die lêer in die vorm van AOF, wat nie net die spoed van Redis-herbegin kan verseker nie, maar ook verminder die risiko van verlies van data.

Omdat elke volhardingskema spesifieke gebruikscenario's het.

Redis RDB geheue data volharding operasie modus

  • RDB (Redis DataBase) is die proses om 'n geheue momentopname (Snapshot) op 'n sekere oomblik na skyf in binêre vorm te skryf.
  • Geheue-kiekies is wat ons hierbo gesê het.Dit verwys na die toestandrekord van data in die geheue op 'n sekere oomblik.
  • Dit is soortgelyk aan om 'n foto te neem. Wanneer jy 'n foto van 'n vriend neem, kan 'n foto onmiddellik al die beelde van die vriend opneem.
  • Daar is twee maniere om RDB te aktiveer: een is handmatige sneller, en die ander is outomatiese sneller.

Aktiveer die RDB handmatig

Daar is twee bewerkings om volharding met die hand te aktiveer:savebgsave.

Die belangrikste verskil tussen hulle is of die uitvoering van die Redis-hoofdraad geblokkeer moet word of nie.

1. stoor opdrag

Die uitvoering van die stoor-opdrag aan die kliëntkant sal die volharding van Redis veroorsaak, maar dit sal ook Redis in 'n blokkeertoestand maak. Dit sal nie reageer op opdragte wat deur ander kliënte gestuur word totdat die RDB volgehou word nie, dus moet dit met omsigtigheid gebruik word in die produksie-omgewing.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Die proses om die opdrag uit te voer word in die figuur getoon 

2. bgsave opdrag

  • bgsave (agtergrond stoor) is 'n agtergrond stoor.
  • Die grootste verskil tussen dit en die stoor-opdrag is dat bgsave 'n kinderproses sal vurk om volharding uit te voer.
  • Die hele proses is slegs wanneer die kinderproses vurk is.Daar is net 'n kort blokkasie.
  • Nadat die kinderproses geskep is, kan die hoofproses van Redis reageer op versoeke van ander kliënte.

met die blokkering van die hele prosessavein vergelyking met die opdragbgsaveCommand is natuurlik meer geskik vir ons om te gebruik.

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

Sneller RDB outomaties

Nadat ons oor handmatige sneller gepraat het, kom ons kyk na outomatiese sneller.Ons kan die voorwaardes vir outomatiese aktiveer in die konfigurasielêer opstel.

1. red mnr

  • save mn beteken dat binne m sekondes, as n sleutels verander, volharding outomaties geaktiveer word.Parameters m en n kan in die Redis-konfigurasielêer gevind word.
  • Byvoorbeeld, stoor 60 1 beteken dat binne 60 sekondes, solank een sleutel verander, RDB-volharding geaktiveer sal word.
  • Die essensie van volharding outomaties aktiveer, is dat indien aan die gestelde snellervoorwaardes voldoen word, Redis outomaties die bgsave-opdrag een keer sal uitvoer.

Let wel: Wanneer veelvuldige stoor mn-opdragte gestel word, sal enige voorwaarde volharding veroorsaak.

Byvoorbeeld, ons stel die volgende twee save mn-opdragte:

save 60 10
save 600 20
  • Wanneer die Redis-sleutelwaarde 60 keer binne 10's verander, sal volharding geaktiveer word;
  • As die Redis-sleutel binne 60'e verander, en as die waarde minder as 10 keer verander, sal Redis bepaal of die Redis-sleutel ten minste 600 keer binne 20'e verander is, en indien wel, aanhoudendheid aktiveer.

2. Flushall

  • Die flushall-opdrag word gebruik om die Redis-databasis te spoel.
  • Dit moet met omsigtigheid in 'n produksie-omgewing gebruik word.
  • Wanneer Redis die flushall-opdrag uitvoer, veroorsaak dit outomatiese volharding en maak die RDB-lêers skoon.

3. Meester-slaaf sinchronisasie sneller

In Redis meester-slaaf-replikasie, wanneer die slaafnodus 'n volledige replikasie-operasie uitvoer, sal die meesternodus die bgsave-opdrag uitvoer om die RDB-lêer na die slaafnodus te stuur. Hierdie proses veroorsaak outomaties Redis-volharding.

Redis kan die huidige konfigurasieparameters navraag doen deur opdragte.

Die formaat van die navraagopdrag is:config get xxx

Byvoorbeeld, as jy die bergingnaam-instelling van 'n RDB-lêer wil kry, kan jy dit gebruik config get dbfilename .

Die uitvoering effek is soos volg:

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

Aangesien die Redis-bediener sal blokkeer wanneer die RDB-lêer gelaai word totdat die laai voltooi is, kan dit 'n lang tyd veroorsaak en kan nie toegang tot die webwerf verkry word nie.

As jy die RDB-kaslêer dump.rdb van Redis handmatig wil uitvee, kan jy die volgende opdrag gebruik om die stoorpad van die dump.rdb-lêer te vind▼

find / -name dump.rdb
  • Vee dan die dump.rdb-kaslêer handmatig uit via SSH.

Redis stel die konfigurasie van RDB

Wat die opstelling van RDB betref, kan u die volgende twee maniere gebruik:

  1. Verander die Redis-konfigurasielêer handmatig
  2. Gebruik die command line instellings, config set dir "/usr/data" is die stoor opdrag om die RDB lêer te wysig

Let wel: Die konfigurasie in redis.conf kan verkry word deur config get xxx en gewysig deur config stel xxx waarde, en die metode om die Redis-konfigurasielêer handmatig te wysig is globaal effektief, dit wil sê die parameters wat gestel word deur die Redis-bediener te herbegin, sal nie verlore gaan, maar met die opdrag gewysig word, sal dit verlore gaan nadat Redis herbegin het.

As jy egter die Redis-konfigurasielêer handmatig wil wysig om onmiddellik in werking te tree, moet jy die Redis-bediener herbegin, en die opdragmetode vereis nie dat die Redis-bediener herbegin word nie.

RDB lêer herstel

Wanneer die Redis-bediener begin, as die RDB-lêer dump.rdb in die Redis-wortelgids bestaan, sal Redis outomaties die RDB-lêer laai om aanhoudende data te herstel.

As daar geen dump.rdb-lêer in die wortelgids is nie, skuif asseblief eers die dump.rdb-lêer na die wortelgids van Redis.

Natuurlik is daar loginligting wanneer Redis begin, wat sal wys of die RDB-lêer gelaai is.

Die Redis-bediener blokkeer terwyl die RDB-lêer gelaai word totdat die laai voltooi is.

Nou weet ons dat RDB-volharding in twee maniere verdeel word: handmatige sneller en outomatiese sneller:

  1. Die voordeel daarvan is dat die stoorlêer klein is en dataherwinning vinniger is wanneer Redis begin word.
  2. Die nadeel is dat daar 'n risiko van dataverlies is.

Die herstel van RDB-lêers is ook baie eenvoudig. Plaas net die RDB-lêers in die wortelgids van Redis, en Redis sal outomaties data laai en herstel wanneer dit begin.

RDB voor- en nadele

1) RDB voordele

Die inhoud van RDB is binêre data, wat minder geheue in beslag neem, meer kompak is en meer geskik is as 'n rugsteunlêer;

RDB is baie nuttig vir rampherstel, dit is 'n saamgeperste lêer wat vinniger na 'n afgeleë bediener oorgedra kan word vir Redis-diensherstel;

RDB kan die spoed van Redis aansienlik verbeter, omdat die hoof Redis-proses 'n kinderproses sal vurk om data na skyf te laat voortbestaan.

Die Redis-hoofproses voer nie bewerkings uit soos skyf-I/O nie;

In vergelyking met AOF-formaat lêers, herbegin RDB-lêers vinniger.

2) Nadele van RDB

Omdat RDB slegs data op 'n sekere tydsinterval kan stoor, as die Redis-diens per ongeluk in die middel beëindig word, sal die Redis-data vir 'n tydperk verlore gaan;

'n Proses waarin RDB gereelde vurke vereis om dit op skyf te hou met behulp van subinskrywing.

As die datastel groot is, kan vurk tydrowend wees, en as die datastel groot is, is die SVE-werkverrigting swak, wat kan veroorsaak dat Redis nie vir 'n paar millisekondes of selfs 'n sekonde kliënte kan bedien nie.

Natuurlik kan ons ook volharding deaktiveer om die uitvoeringsdoeltreffendheid van Redis te verbeter.

As jy nie sensitief is vir dataverlies nie, kan jy dit doen wanneer die kliënt koppel config set save "" Opdrag om volharding vir Redis te deaktiveer.

redis.conf, indien insaveMaak 'n opmerking oor alle konfigurasies aan die begin, en volharding sal ook gedeaktiveer word, maar dit word gewoonlik nie gedoen nie.

Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ ) gedeel "Wat is die volle naam van Redis RDB? Redis RDB In-Memory Data Persistence Operation Mode, wat jou sal help.

Welkom om die skakel van hierdie artikel te deel:https://www.chenweiliang.com/cwl-26677.html

Welkom by die Telegram-kanaal van Chen Weiliang se blog om die nuutste opdaterings te kry!

🔔 Wees die eerste om die waardevolle "ChatGPT Content Marketing AI Tool Usage Guide" in die kanaal se topgids te kry! 🌟
📚 Hierdie gids bevat groot waarde, 🌟Dit is 'n seldsame geleentheid, moet dit nie misloop nie! ⏰⌛💨
Share en like as jy wil!
Jou deel en laaiks is ons voortdurende motivering!

 

发表 评论

U e-posadres sal nie gepubliseer word nie. Vereiste velde word gebruik * Etiket

blaai na bo