Koji je puni naziv Redis RDB-a? Redis RDB memorijski radni način postojanosti podataka

Puni naziv RDB jeRedis database.

  • Kao što naziv sugerira, RDB je Redis baza podataka koja se koristi za pohranu podataka.
  • Stoga se kroz RDB postojanost podaci pohranjeni u Redis memoriji zapisuju u RDB datoteku i spremaju na disk kako bi se postigla postojanost.
  • Značajka Redisa je da može perzistirati podatke, odnosno zapisivati ​​podatke iz memorije na disk kako bi osigurao da se podaci ne izgube, a također može učitati podatke s diska u memoriju.

Koji je puni naziv Redis RDB-a? Redis RDB memorijski radni način postojanosti podataka

Operacije Redisa na početku se sve temelje na memoriji, tako da je izvedba vrlo visoka, ali kad se program zatvori, podaci se gube.

Stoga moramo zapisivati ​​podatke iz memorije na disk u određenim intervalima, što je u žargonu Snapshot.

Prilikom vraćanja, datoteka snimke se zapisuje izravno u memoriju.

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

Za postojanost Redis memorijskih podataka, Redis nam nudi sljedeće metode:

  • Snapshot metoda (RDB, Redis DataBase): zapis memorijskih podataka na disk u binarnom obliku u određenom trenutku;
  • Dodavanje samo datoteke (AOF, samo dodavanje datoteke), snimanje svih operativnih naredbi i dodavanje u datoteku u tekstualnom obliku;
  • Hibridna postojanost, nova metoda nakon Redisa 4.0, hibridna postojanost kombinira prednosti RDB-a i AOF-a.Prilikom pisanja, prvo zapišite trenutne podatke na početak datoteke u obliku RDB, a zatim spremite naredne operativne naredbe u datoteku u obliku AOF, što ne samo da može osigurati brzinu ponovnog pokretanja Redisa, već i smanjiti rizik od gubitka podataka.

Budući da svaka shema postojanosti ima specifične scenarije upotrebe.

Način rada postojanosti podataka Redis RDB memorije

  • RDB (Redis DataBase) je proces zapisivanja memorijske snimke (Snapshot) u određenom trenutku na disk u binarnom obliku.
  • Memorijske snimke su ono što smo rekli gore.Odnosi se na zapis stanja podataka u memoriji u određenom trenutku.
  • Ovo je slično snimanju fotografije. Kada fotografirate prijatelja, fotografija može odmah zabilježiti sve slike prijatelja.
  • Postoje dva načina za pokretanje RDB-a: jedan je ručno pokretanje, a drugi je automatsko pokretanje.

Ručno pokrenite RDB

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

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

1. naredba za spremanje

Izvršavanje naredbe za spremanje na strani klijenta pokrenut će postojanost Redisa, ali će također učiniti Redis u stanju blokiranja. Neće odgovarati na naredbe koje šalju drugi klijenti sve dok se RDB ne održi, pa se mora koristiti s oprezom 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. naredba bgsave

  • bgsave (pozadinsko spremanje) je pozadinsko spremanje.
  • Najveća razlika između nje i naredbe spremanja je u tome što će bgsave račvati proces dijete za izvođenje postojanosti.
  • Cijeli proces je samo kada je proces dijete fork.Postoji samo kratka blokada.
  • Nakon što se kreira podređeni proces, glavni proces Redisa može odgovoriti na zahtjeve drugih klijenata.

uz blokiranje cijelog procesasaveu odnosu na naredbubgsaveNaredba nam je očito prikladnija za korištenje.

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

Automatski pokreni RDB

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

1. spasiti mn

  • save mn znači da se u roku od m sekundi, ako se promijeni n tipki, postojanost automatski pokreće.Parametri m i n mogu se pronaći u Redis konfiguracijskoj datoteci.
  • Na primjer, spremanje 60 1 znači da će se u roku od 60 sekundi, sve dok se jedna tipka promijeni, RDB postojanost pokrenuti.
  • Suština automatskog pokretanja postojanosti je da ako su postavljeni uvjeti okidača zadovoljeni, Redis će automatski jednom izvršiti naredbu bgsave.

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

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

save 60 10
save 600 20
  • Kada se vrijednost Redis ključa promijeni 60 puta unutar 10 sekundi, pokrenut će se postojanost;
  • Ako se Redis ključ promijeni unutar 60 s i ako se vrijednost promijeni manje od 10 puta, tada će Redis utvrditi je li Redis ključ izmijenjen najmanje 600 puta unutar 20 s, i ako je tako, pokrenuti postojanost.

2. Flushall

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

3. Okidač sinkronizacije master-slave

U Redis master-slave replikaciji, kada podređeni čvor izvrši potpunu operaciju replikacije, glavni čvor će izvršiti naredbu bgsave za slanje RDB datoteke 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 dobiti postavku naziva za pohranu RDB datoteke, možete koristiti config get dbfilename .

Učinak izvršenja je sljedeći:

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

Budući da će Redis poslužitelj blokirati učitavanje RDB datoteke dok se učitavanje ne dovrši, to može uzrokovati dugo vremena i nemogućnost pristupa web stranici.

Ako želite ručno izbrisati datoteku RDB predmemorije dump.rdb Redisa, možete upotrijebiti sljedeću naredbu da pronađete stazu pohrane datoteke dump.rdb▼

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

Redis postavlja konfiguraciju RDB-a

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

  1. Ručno izmijenite Redis konfiguracijsku datoteku
  2. Upotrijebite postavke naredbenog retka, konfiguracijski skup direktorija "/usr/data" je naredba za pohranu za izmjenu RDB datoteke

Napomena: Konfiguracija u redis.conf može se dobiti putem config get xxx i modificirati kroz config set xxx value, a metoda ručne izmjene Redis konfiguracijske datoteke je globalno učinkovita, to jest, parametri postavljeni ponovnim pokretanjem Redis poslužitelja neće biti izgubljen, ali modificiran pomoću naredbe, bit će izgubljen nakon ponovnog pokretanja Redisa.

Međutim, ako želite ručno izmijeniti Redis konfiguracijsku datoteku kako bi odmah stupila na snagu, trebate ponovno pokrenuti Redis poslužitelj, a naredbena metoda ne zahtijeva ponovno pokretanje Redis poslužitelja.

RDB oporavak datoteke

Kada se Redis poslužitelj pokrene, ako RDB datoteka dump.rdb postoji u korijenskom direktoriju Redisa, Redis će automatski učitati RDB datoteku za vraćanje trajnih podataka.

Ako u korijenskom direktoriju nema datoteke dump.rdb, prvo premjestite datoteku dump.rdb u korijenski direktorij Redisa.

Naravno, postoje informacije o dnevniku kada se Redis pokrene, koje će pokazati je li RDB datoteka učitana.

Redis poslužitelj blokira tijekom učitavanja RDB datoteke dok učitavanje ne završi.

Sada znamo da se postojanost RDB-a dijeli 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 da postoji rizik od gubitka podataka.

Oporavak RDB datoteka također je vrlo jednostavan. Samo stavite RDB datoteke u korijenski direktorij Redisa, a 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 datoteka sigurnosne kopije;

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

RDB može uvelike poboljšati brzinu Redisa, jer će glavni Redis proces račvati podređeni proces kako bi podaci ostali na disku.

Redis glavni proces ne izvodi operacije kao što su disk I/O;

U usporedbi s datotekama formata AOF, RDB datoteke brže se ponovno pokreću.

2) Nedostaci RDB-a

Budući da RDB može spremati podatke samo u određenom vremenskom intervalu, ako se Redis usluga slučajno prekine usred, Redis podaci će biti izgubljeni na određeno vrijeme;

Proces u kojem RDB zahtijeva česta račvanja da bi ga spremio na disk koristeći podentry.

Ako je skup podataka velik, fork može oduzimati puno vremena, a ako je skup podataka velik, izvedba CPU-a je loša, što može uzrokovati da Redis ne može opsluživati ​​klijente nekoliko milisekundi ili čak sekundu.

Naravno, također možemo onemogućiti postojanost kako bismo poboljšali učinkovitost izvršavanja Redisa.

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 općenito ne radi.

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

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

Dobro došli na Telegram kanal Chen Weiliangovog bloga da dobijete najnovija ažuriranja!

🔔 Budite prvi koji će dobiti vrijedan "Vodič za korištenje AI alata za marketing sadržaja ChatGPT" u direktoriju na vrhu kanala! 🌟
📚 Ovaj vodič ima veliku vrijednost, 🌟 Ovo je rijetka prilika, nemojte je propustiti! ⏰⌛💨
Podijelite i lajkajte ako vam se sviđa!
Vaše dijeljenje i lajkovi naša su stalna motivacija!

 

发表 评论

Vaša email adresa neće biti objavljena. Koriste se obavezna polja * Označiti

pomaknite se na vrh