Koje je puno ime Redis RDB? Redis RDB memorijski režim postojanosti podataka

Puni naziv RDB-a jeRedis database.

  • Kao što ime govori, RDB je Redis baza podataka koja se koristi za pohranjivanje podataka.
  • Stoga, kroz RDB postojanost, podaci pohranjeni u Redis memoriji se upisuju u RDB datoteku i spremaju na disk kako bi se postigla postojanost.
  • Karakteristika Redis-a je da može postojati podatke, odnosno pisati podatke iz memorije na disk kako bi se osiguralo da se podaci ne izgube, a također može učitati podatke s diska u memoriju.

Koje je puno ime Redis RDB? Redis RDB memorijski režim postojanosti podataka

Sve operacije Redisa na početku su bazirane na memoriji, tako da su performanse veoma visoke, ali kada se program zatvori, podaci se gube.

Zbog toga moramo da zapisujemo podatke u memoriji na disk u određenim intervalima, što je u žargonu Snapshot.

Prilikom vraćanja, datoteka snimka se upisuje direktno u memoriju.

Ovo je također jedna od glavnih razlika između Redisa i Memcached-a, jer Memcached nema mogućnost postojanosti.

Za postojanost Redis memorijskih podataka, Redis nam pruža sljedeće metode:

  • Snapshot metoda (RDB, Redis DataBase): zapisivanje memorijskih podataka na disk u binarnom obliku u određenom trenutku;
  • Dodaj samo datoteku (AOF, dodaj samo datoteku), snimi sve naredbe operacija i dodaj datoteci u tekstualnom obliku;
  • Hibridna postojanost, nova metoda nakon Redis 4.0, hibridna postojanost kombinuje prednosti RDB i AOF.Prilikom pisanja, prvo upišite trenutne podatke na početak datoteke u obliku RDB-a, a zatim spremite naredbe za naknadne operacije u datoteku u obliku AOF-a, što ne samo da može osigurati brzinu ponovnog pokretanja Redis-a, već i smanjiti rizik od gubitka podataka.

Zato što svaka shema postojanosti ima specifične scenarije korištenja.

Redis RDB memorijski režim postojanosti podataka

  • RDB (Redis DataBase) je proces pisanja snimka memorije (Snapshot) u određenom trenutku na disk u binarnom obliku.
  • Snimci memorije su ono što smo rekli gore.Odnosi se na zapis stanja podataka u memoriji u određenom trenutku.
  • Ovo je slično fotografisanju. Kada snimite fotografiju prijatelja, fotografija može trenutno snimiti sve slike prijatelja.
  • Postoje dva načina za pokretanje RDB-a: jedan je ručno okidanje, a drugi je automatsko okidanje.

Ručno pokrenite RDB

Postoje dvije operacije za ručno pokretanje postojanosti:savebgsave.

Glavna razlika između njih je da li blokirati ili ne izvršavanje Redis glavne niti.

1. naredba za spremanje

Izvršavanje naredbe za spremanje na strani klijenta će pokrenuti postojanost Redis-a, ali će također dovesti Redis u blokirano stanje. Neće odgovarati na naredbe koje šalju drugi klijenti dok se RDB ne nastavi, tako da se mora koristiti oprezno u proizvodno okruženje.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Proces izvršavanja naredbe prikazan je na slici 

2. bgsave komanda

  • bgsave (pozadinsko spremanje) je pozadinsko spremanje.
  • Najveća razlika između nje i naredbe za spremanje je u tome što će bgsave razdvojiti podređeni proces da izvrši upornost.
  • Cijeli proces se događa samo kada je podređeni proces fork.Postoji samo kratka blokada.
  • Nakon kreiranja podređenog procesa, glavni proces Redis-a može odgovoriti na zahtjeve drugih klijenata.

uz blokiranje cijelog procesasaveu poređenju sa komandombgsaveNaredba je očito prikladnija za nas.

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

Automatski pokrenite RDB

Nakon razgovora o ručnom okidanju, pogledajmo automatsko okidanje.U konfiguracijskoj datoteci možemo konfigurirati uvjete za automatsko aktiviranje.

1. spasiti mn

  • sačuvaj mn znači da se u roku od m sekundi, ako se promijeni n ključeva, upornost se automatski pokreće.Parametri m i n se mogu naći u Redis konfiguracionoj datoteci.
  • Na primjer, sačuvaj 60 1 znači da će se u roku od 60 sekundi, sve dok se promijeni jedan ključ, aktivirati postojanost RDB-a.
  • Suština automatskog pokretanja postojanosti je da ako su ispunjeni postavljeni uslovi okidača, Redis će automatski jednom izvršiti komandu bgsave.

Napomena: Kada je postavljeno više naredbi za spremanje mn, bilo koji uvjet će pokrenuti postojanost.

Na primjer, postavili smo sljedeće dvije naredbe za spremanje mn:

save 60 10
save 600 20
  • Kada se vrijednost Redis ključa promijeni 60 puta u roku od 10s, upornost će se pokrenuti;
  • Ako se Redis ključ promijeni u roku od 60s, i ako se vrijednost promijeni manje od 10 puta, Redis će odrediti da li je Redis ključ promijenjen najmanje 600 puta u roku od 20s, i ako je tako, aktivirati postojanost.

2. Flushall

  • Naredba flushall se koristi za ispiranje Redis baze podataka.
  • Mora se koristiti s oprezom u proizvodnom okruženju.
  • Kada Redis izvrši naredbu flushall, pokreće automatsku postojanost i briše RDB datoteke.

3. Okidač sinkronizacije master-slave

U Redis master-slave replikaciji, kada slave čvor izvrši operaciju pune replikacije, glavni čvor će izvršiti naredbu bgsave da pošalje RDB datoteku podređenom čvoru.Ovaj proces automatski pokreće Redis postojanost.

Redis može tražiti trenutne konfiguracijske parametre putem naredbi.

Format naredbe upita je:config get xxx

Na primjer, ako želite da dobijete postavku imena memorije RDB datoteke, možete koristiti config get dbfilename .

Efekat izvršenja je sledeći:

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

Budući da će Redis server blokirati prilikom učitavanja RDB datoteke dok se učitavanje ne završi, to može uzrokovati dugo vremena i web-stranici se neće moći pristupiti.

Ako želite ručno izbrisati RDB keš datoteku dump.rdb u Redis-u, možete koristiti sljedeću naredbu da pronađete putanju za skladištenje datoteke dump.rdb▼

find / -name dump.rdb
  • Zatim ručno obrišite dump.rdb cache datoteku putem SSH-a.

Redis postavlja konfiguraciju RDB-a

Što se tiče podešavanja konfiguracije RDB-a, možete koristiti sljedeća dva načina:

  1. Ručno izmijenite Redis konfiguracijsku datoteku
  2. Koristite postavke komandne linije, config set dir "/usr/data" je naredba za pohranu za izmjenu RDB datoteke

Napomena: Konfiguracija u redis.conf se može dobiti preko config get xxx i modificirati kroz config set xxx vrijednost, a metoda ručnog mijenjanja Redis konfiguracijske datoteke je globalno učinkovita, odnosno parametri postavljeni ponovnim pokretanjem Redis servera neće biti izgubljen, ali izmijenjen pomoću naredbe , bit će izgubljen nakon ponovnog pokretanja Redis-a.

Međutim, ako želite ručno izmijeniti Redis konfiguracijsku datoteku da odmah stupi na snagu, morate ponovo pokrenuti Redis server, a metoda komande ne zahtijeva ponovno pokretanje Redis servera.

Oporavak RDB datoteke

Kada se Redis server pokrene, ako RDB datoteka dump.rdb postoji u korijenskom direktoriju Redis-a, Redis će automatski učitati RDB datoteku za vraćanje trajnih podataka.

Ako u korijenskom direktoriju nema dump.rdb datoteke, prvo premjestite datoteku dump.rdb u korijenski direktorij Redis-a.

Naravno, postoje informacije dnevnika kada se Redis pokrene, koji će pokazati da li je RDB datoteka učitana.

Redis server blokira dok učitava RDB datoteku dok se učitavanje ne završi.

Sada znamo da je RDB postojanost podijeljena na dva načina: ručno okidanje i automatsko okidanje:

  1. Njegova prednost je što je datoteka za pohranu mala i oporavak podataka je brži kada se Redis pokrene.
  2. Loša strana je u tome što postoji rizik od gubitka podataka.

Oporavak RDB datoteka je također vrlo jednostavan. Samo stavite RDB datoteke u korijenski direktorij Redis-a i Redis će automatski učitati i vratiti podatke kada se pokrene.

RDB prednosti i mane

1) Prednosti RDB-a

Sadržaj RDB-a su binarni podaci, koji zauzimaju manje memorije, kompaktniji su i prikladniji kao backup fajl;

RDB je vrlo koristan za oporavak od katastrofe, to je komprimirana datoteka koja se može brže prenijeti na udaljeni server za oporavak Redis servisa;

RDB može uvelike poboljšati brzinu Redis-a, jer će glavni Redis proces razdvojiti podređeni proces da zadrži podatke na disku.

Glavni proces Redis ne izvodi operacije kao što je disk I/O;

U poređenju sa datotekama u formatu AOF, RDB datoteke se brže pokreću.

2) Nedostaci RDB-a

Pošto RDB može sačuvati podatke samo u određenom vremenskom intervalu, ako se Redis usluga slučajno prekine u sredini, Redis podaci će biti izgubljeni na određeno vreme;

Proces u kojem RDB zahtijeva česte račve da bi ga spremio na disk koristeći podentriju.

Ako je skup podataka velik, fork može oduzimati mnogo vremena, a ako je skup podataka velik, performanse CPU-a su loše, što može uzrokovati da Redis ne može služiti klijentima nekoliko milisekundi ili čak sekunde.

Naravno, takođe možemo onemogućiti upornost da poboljšamo efikasnost izvršavanja Redis-a.

Ako niste osjetljivi na gubitak podataka, to možete učiniti kada se klijent poveže config set save "" Naredba za onemogućavanje postojanosti za Redis.

redis.conf, ako je usaveKomentirajte sve konfiguracije na početku, i postojanost će također biti onemogućena, ali to se uglavnom ne radi.

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) podijelio je "Koje je puno ime Redis RDB-a? Redis RDB In-Memory Data Persistence Operation Mode", pomoći će vam.

Dobrodošli da podijelite link ovog članka:https://www.chenweiliang.com/cwl-26677.html

Dobrodošli na Telegram kanal bloga Chen Weilianga kako biste dobili najnovije informacije!

🔔 Budite prvi koji će dobiti vrijedan "Vodič za korištenje AI alata za marketing sadržaja ChatGPT" u glavnom direktoriju kanala! 🌟
📚 Ovaj vodič ima ogromnu vrijednost, 🌟Ovo je rijetka prilika, ne propustite je! ⏰⌛💨
Podelite i lajkujte ako želite!
Vaše dijeljenje i lajkovi su naša stalna motivacija!

 

Komentari

Vaša adresa e-pošte neće biti objavljena. Koriste se obavezna polja * Oznaka

skrolujte na vrh