Koks pilnas Redis RDB pavadinimas? Redis RDB atminties duomenų pastovumo veikimo režimas

Visas RDB pavadinimas yraRedis database.

  • Kaip rodo pavadinimas, RDB yra „Redis“ duomenų bazė, naudojama duomenims saugoti.
  • Todėl naudojant RDB patvarumą, Redis atmintyje saugomi duomenys įrašomi į RDB failą ir išsaugomi diske, kad būtų užtikrintas patvarumas.
  • Redis ypatybė yra ta, kad ji gali išsaugoti duomenis, ty įrašyti duomenis į atmintį į diską, kad nebūtų prarasti duomenys, taip pat gali įkelti duomenis iš disko į atmintį.

Koks pilnas Redis RDB pavadinimas? Redis RDB atminties duomenų pastovumo veikimo režimas

„Redis“ operacijos pradžioje yra pagrįstos atmintimi, todėl našumas yra labai didelis, tačiau uždarius programą duomenys prarandami.

Todėl mes turime įrašyti duomenis į diską atmintyje nurodytais intervalais, o tai žargonu yra momentinė nuotrauka.

Atkuriant momentinės nuotraukos failas įrašomas tiesiai į atmintį.

Tai taip pat yra vienas iš pagrindinių Redis ir Memcached skirtumų, nes „Memcached“ neturi patvarumo galimybių.

Kad Redis atminties duomenys išliktų, Redis mums siūlo šiuos metodus:

  • Snapshot metodas (RDB, Redis DataBase): įrašyti atminties duomenis į diską dvejetaine forma tam tikru momentu;
  • Pridėti tik failą (AOF, Pridėti tik failą), įrašyti visas operacijų komandas ir pridėti prie failo teksto forma;
  • Hibridinis patvarumas, naujas metodas po Redis 4.0, hibridinis patvarumas sujungia RDB ir AOF pranašumus.Rašydami pirmiausia įrašykite esamus duomenis į failo pradžią RDB forma, o tada išsaugokite paskesnes operacijų komandas į failą AOF forma, kuri gali ne tik užtikrinti Redis perkrovimo greitį, bet ir sumažinti duomenų praradimo rizika.

Kadangi kiekviena išlikimo schema turi specifinius naudojimo scenarijus.

Redis RDB atminties duomenų pastovumo veikimo režimas

  • RDB (Redis DataBase) yra atminties momentinės nuotraukos (Snapshot) įrašymo į diską dvejetaine forma tam tikru momentu procesas.
  • Atminties momentinės nuotraukos yra tai, ką minėjome aukščiau.Tai reiškia duomenų būseną atmintyje tam tikru momentu.
  • Tai panašu į fotografavimą. Kai fotografuojate draugą, nuotrauka gali akimirksniu įrašyti visus draugo vaizdus.
  • Yra du būdai, kaip suaktyvinti RDB: vienas yra rankinis, o kitas - automatinis.

Rankiniu būdu suaktyvinkite RDB

Yra dvi operacijos rankiniu būdu suaktyvinti patvarumą:saveIrbgsave.

Pagrindinis skirtumas tarp jų yra tai, ar užblokuoti pagrindinės „Redis“ gijos vykdymą, ar ne.

1. išsaugoti komandą

Vykdydami išsaugojimo komandą kliento pusėje suaktyvins Redis išlikimą, bet taip pat pavers Redis blokavimo būseną. Ji nereaguos į kitų klientų siunčiamas komandas, kol RDB nebus išsaugotas, todėl ją reikia naudoti atsargiai gamybos aplinką.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Komandos vykdymo procesas parodytas paveikslėlyje 

2. bgsave komanda

  • bgsave (fono išsaugojimas) yra išsaugojimas fone.
  • Didžiausias skirtumas tarp jos ir išsaugojimo komandos yra tas, kad bgsave suaktyvins antrinį procesą, kad atliktų atkaklumą.
  • Visas procesas vyksta tik tada, kai vaiko procesas yra šakutė.Yra tik trumpas užsikimšimas.
  • Sukūrus antrinį procesą, pagrindinis Redis procesas gali atsakyti į kitų klientų užklausas.

blokuojant visą procesąsavepalyginti su komandabgsaveKomanda akivaizdžiai tinkamesnė mums naudoti.

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

Automatiškai suaktyvinti RDB

Pakalbėję apie rankinį paleidimą, pažvelkime į automatinį paleidimą.Konfigūracijos faile galime sukonfigūruoti automatinio paleidimo sąlygas.

1. taupyti mn

  • išsaugoti mn reiškia, kad per m sekundžių, pasikeitus n klavišų, automatiškai suaktyvinamas patvarumas.Parametrus m ir n galima rasti Redis konfigūracijos faile.
  • Pavyzdžiui, išsaugoti 60 1 reiškia, kad per 60 sekundžių, kol pasikeis vienas raktas, bus suaktyvintas RDB patvarumas.
  • Automatinio suaktyvinimo atkaklumo esmė yra ta, kad jei įvykdomos nustatytos paleidimo sąlygos, Redis vieną kartą automatiškai įvykdys komandą bgsave.

Pastaba: Kai nustatomos kelios save mn komandos, bet kuri viena sąlyga suaktyvins patvarumą.

Pavyzdžiui, nustatome šias dvi save mn komandas:

save 60 10
save 600 20
  • Kai Redis rakto reikšmė pasikeičia 60 kartų per 10 sekundžių, bus suaktyvintas patvarumas;
  • Jei Redis raktas pasikeičia per 60 sekundžių, o vertė pasikeičia mažiau nei 10 kartų, Redis nustatys, ar Redis raktas buvo pakeistas bent 600 kartų per 20 sekundžių, ir jei taip, suaktyvins patvarumą.

2. Flushall

  • „Redis“ duomenų bazei išplauti naudojama komanda „flushall“.
  • Gamybos aplinkoje jis turi būti naudojamas atsargiai.
  • Kai Redis vykdo flushall komandą, ji suaktyvina automatinį išlikimą ir išvalo RDB failą.

3. Pagrindinio-pavaldžiojo sinchronizavimo trigeris

Redis pagrindinio-pagalvotojo replikacijoje, kai pavaldinis mazgas atlieka visą replikacijos operaciją, pagrindinis mazgas vykdys komandą bgsave, kad nusiųstų RDB failą į pavaldų mazgą. Šis procesas automatiškai suaktyvina Redis atkaklumą.

Redis gali pateikti užklausą dabartinių konfigūracijos parametrų per komandas.

Užklausos komandos formatas yra toks:config get xxx

Pavyzdžiui, jei norite gauti RDB failo saugyklos pavadinimo nustatymą, galite naudoti config get dbfilename .

Vykdymo efektas yra toks:

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

Kadangi „Redis“ serveris blokuos įkeliant RDB failą, kol įkėlimas bus baigtas, tai gali užtrukti ilgai ir nepavyks pasiekti svetainės.

Jei norite rankiniu būdu ištrinti Redis RDB talpyklos failą dump.rdb, galite naudoti šią komandą, kad surastumėte failo dump.rdb saugojimo kelią▼

find / -name dump.rdb
  • Tada rankiniu būdu ištrinkite dump.rdb talpyklos failą naudodami SSH.

Redis nustato RDB konfigūraciją

Norėdami nustatyti RDB konfigūraciją, galite naudoti šiuos du būdus:

  1. Rankiniu būdu pakeiskite Redis konfigūracijos failą
  2. Naudokite komandinės eilutės nustatymus, konfigūracijos rinkinys dir "/usr/data" yra saugojimo komanda, skirta modifikuoti RDB failą

Pastaba: redis.conf konfigūraciją galima gauti naudojant config get xxx ir modifikuoti naudojant config set xxx reikšmę, o Redis konfigūracijos failo rankinio modifikavimo metodas yra visuotinai veiksmingas, ty parametrai, nustatyti iš naujo paleidus Redis serverį, nebus bus prarastas, bet pakeistas naudojant komandą , jis bus prarastas, kai „Redis“ paleis iš naujo.

Tačiau jei norite rankiniu būdu modifikuoti „Redis“ konfigūracijos failą, kad jis įsigaliotų nedelsiant, turite iš naujo paleisti „Redis“ serverį, o komandų metodas nereikalauja iš naujo paleisti „Redis“ serverio.

RDB failo atkūrimas

Paleidus Redis serverį, jei Redis šakniniame kataloge yra RDB failas dump.rdb, Redis automatiškai įkels RDB failą, kad atkurtų nuolatinius duomenis.

Jei šakniniame kataloge nėra failo dump.rdb, pirmiausia perkelkite failą dump.rdb į pagrindinį Redis katalogą.

Žinoma, paleidus Redis yra žurnalo informacija, kuri parodys, ar RDB failas įkeltas.

Redis serveris blokuoja, kol įkeliamas RDB failas, kol įkėlimas bus baigtas.

Dabar žinome, kad RDB patvarumas yra padalintas į du būdus: rankinį paleidimą ir automatinį paleidimą:

  1. Jo pranašumas yra tas, kad saugojimo failas yra mažas, o duomenų atkūrimas yra greitesnis, kai paleidžiama Redis.
  2. Neigiama yra tai, kad yra duomenų praradimo rizika.

RDB failų atkūrimas taip pat yra labai paprastas. Tiesiog įdėkite RDB failus į Redis šakninį katalogą ir Redis automatiškai įkels ir atkurs duomenis, kai paleis.

RDB pliusai ir minusai

1) RDB privalumai

RDB turinys yra dvejetainiai duomenys, užima mažiau atminties, yra kompaktiškesnis ir labiau tinkamas kaip atsarginis failas;

RDB labai naudingas atkūrimui po nelaimingų atsitikimų, tai suspaustas failas, kurį galima greičiau perkelti į nuotolinį serverį Redis paslaugos atkūrimui;

RDB gali labai pagerinti „Redis“ veikimo greitį, nes pagrindinis „Redis“ procesas nukreips antrinį procesą, kad duomenys būtų išsaugoti diske.

Redis pagrindinis procesas neatlieka tokių operacijų kaip disko įvestis/išvestis;

Palyginti su AOF formato failais, RDB failai paleidžiami iš naujo greičiau.

2) RDB trūkumai

Kadangi RDB duomenis gali išsaugoti tik tam tikrą laiko intervalą, netyčia nutraukus Redis paslaugą viduryje, Redis duomenys tam tikram laikui bus prarasti;

Procesas, kurio metu RDB reikalauja dažnų šakučių, kad jis būtų diske, naudojant subįrašą.

Jei duomenų rinkinys yra didelis, šakutė gali užtrukti, o jei duomenų rinkinys didelis, procesoriaus našumas yra prastas, todėl Redis gali nesugebėti aptarnauti klientų kelias milisekundes ar net sekundę.

Žinoma, taip pat galime išjungti patvarumą, kad pagerintume „Redis“ vykdymo efektyvumą.

Jei nesate jautrus duomenų praradimui, galite tai padaryti klientui prisijungus config set save "" Komanda išjungti „Redis“ patvarumą.

redis.conf, jei įeinasavePradžioje pakomentuokite visas konfigūracijas, o patvarumas taip pat bus išjungtas, tačiau tai paprastai nedaroma.

Hope Chen Weiliang tinklaraštis ( https://www.chenweiliang.com/ ) pasidalino „Koks pilnas Redis RDB pavadinimas? „Redis RDB“ atminties duomenų pastovumo veikimo režimas, kuris jums naudingas.

Kviečiame pasidalinti šio straipsnio nuoroda:https://www.chenweiliang.com/cwl-26677.html

Sveiki atvykę į Chen Weiliang tinklaraščio Telegram kanalą, kad gautumėte naujausius atnaujinimus!

🔔 Būkite pirmas, kuris kanalo viršaus kataloge gaus vertingą „ChatGPT turinio rinkodaros AI įrankio naudojimo vadovą“! 🌟
📚 Šis vadovas turi didžiulę vertę, 🌟Tai reta galimybė, nepraleiskite jos! ⏰⌛💨
Dalinkitės ir like jei patiko!
Jūsų dalijimasis ir paspaudimai „Patinka“ yra mūsų nuolatinė motyvacija!

 

发表 评论

Jūsų el. Pašto adresas nebus paskelbtas. Naudojami privalomi laukai * Etiketė

slinkite į viršų