Aký je celý názov Redis RDB? Prevádzkový režim perzistencie údajov pamäte Redis RDB

Celý názov RDB jeRedis database.

  • Ako už názov napovedá, RDB je databáza Redis používaná na ukladanie údajov.
  • Preto sa prostredníctvom RDB perzistencie údaje uložené v pamäti Redis zapíšu do súboru RDB a uložia sa na disk, aby sa dosiahla perzistencia.
  • Funkciou Redis je, že dokáže uchovávať údaje, to znamená zapisovať údaje z pamäte na disk, aby sa zabezpečilo, že sa nestratia žiadne údaje, a tiež môže načítať údaje z disku do pamäte.

Aký je celý názov Redis RDB? Prevádzkový režim perzistencie údajov pamäte Redis RDB

Operácie Redis na začiatku sú založené na pamäti, takže výkon je veľmi vysoký, ale po zatvorení programu sa údaje stratia.

Preto musíme dáta v pamäti zapisovať na disk v určených intervaloch, čo je v žargóne Snapshot.

Pri obnove sa súbor snímky zapíše priamo do pamäte.

Toto je tiež jeden z hlavných rozdielov medzi Redis a Memcached, pretože Memcached nemá žiadnu schopnosť perzistencie.

Pre zachovanie údajov pamäte Redis nám spoločnosť Redis poskytuje nasledujúce metódy:

  • Snapshot metóda (RDB, Redis DataBase): zapisovanie pamäťových dát na disk v binárnej forme v určitom okamihu;
  • Pripojiť iba súbor (AOF, pripojiť iba súbor), zaznamenať všetky prevádzkové príkazy a pripojiť k súboru v textovej forme;
  • Hybridná perzistencia, nová metóda po Redis 4.0, hybridná perzistencia kombinuje výhody RDB a AOF.Pri zápise najskôr zapíšte aktuálne dáta na začiatok súboru vo forme RDB a následne do súboru uložte príkazy operácie vo forme AOF, čo dokáže nielen zabezpečiť rýchlosť reštartu Redis, ale aj znížiť riziko straty údajov.

Pretože každá schéma pretrvávania má špecifické scenáre použitia.

Prevádzkový režim perzistencie údajov pamäte Redis RDB

  • RDB (Redis DataBase) je proces zápisu snímky pamäte (Snapshot) v určitom okamihu na disk v binárnej forme.
  • Snímky pamäte sú to, čo sme povedali vyššie.Vzťahuje sa na stavový záznam údajov v pamäti v určitom okamihu.
  • Je to podobné ako pri fotografovaní. Keď odfotíte priateľa, fotografia môže okamžite zaznamenať všetky obrázky priateľa.
  • Existujú dva spôsoby spustenia RDB: jedným je manuálne spustenie a druhým je automatické spustenie.

Manuálne spustite RDB

Existujú dve operácie na manuálne spustenie pretrvávania:saveAbgsave.

Hlavný rozdiel medzi nimi je v tom, či blokovať spustenie hlavného vlákna Redis alebo nie.

1. príkaz na uloženie

Vykonanie príkazu na uloženie na strane klienta spustí pretrvávanie Redis, ale tiež spôsobí, že Redis bude v blokovanom stave. Nebude reagovať na príkazy odoslané inými klientmi, kým sa neuchová RDB, takže ho treba používať opatrne výrobného prostredia.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Proces vykonania príkazu je znázornený na obrázku 

2. príkaz bgsave

  • bgsave (uloženie na pozadí) je uloženie na pozadí.
  • Najväčší rozdiel medzi ním a príkazom na uloženie spočíva v tom, že bgsave rozdelí podriadený proces na vykonanie pretrvávania.
  • Celý proces sa deje len vtedy, keď je podriadený proces fork.Existuje len krátka blokáda.
  • Po vytvorení podradeného procesu môže hlavný proces Redis reagovať na požiadavky iných klientov.

s blokovaním celého procesusavev porovnaní s príkazombgsavePríkaz je pre nás zjavne vhodnejší na použitie.

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

Automaticky spustiť RDB

Po rozhovore o manuálnom spúšťaní sa pozrime na automatické spúšťanie.V konfiguračnom súbore môžeme nakonfigurovať podmienky pre automatické spúšťanie.

1. uložiť mn

  • save mn znamená, že do m sekúnd, ak sa zmení n kľúčov, automaticky sa spustí pretrvávanie.Parametre ma n nájdete v konfiguračnom súbore Redis.
  • Napríklad uložiť 60 1 znamená, že do 60 sekúnd, pokiaľ sa zmení jeden kľúč, sa spustí RDB perzistencia.
  • Podstatou automatického spúšťania persistencie je, že ak sú splnené nastavené spúšťacie podmienky, Redis automaticky raz vykoná príkaz bgsave.

Poznámka: Keď sú nastavené viaceré príkazy save mn, každá jedna podmienka spustí pretrvávanie.

Napríklad sme nastavili nasledujúce dva príkazy save mn:

save 60 10
save 600 20
  • Keď sa hodnota kľúča Redis zmení 60-krát v priebehu 10 sekúnd, spustí sa pretrvávanie;
  • Ak sa kľúč Redis zmení do 60 s a ak sa hodnota zmení menej ako 10-krát, Redis určí, či bol kľúč Redis zmenený aspoň 600-krát v priebehu 20 s, a ak áno, spustí pretrvávanie.

2. Spláchnite

  • Príkaz flushall sa používa na vyprázdnenie databázy Redis.
  • V produkčnom prostredí sa musí používať opatrne.
  • Keď Redis vykoná príkaz flushall, spustí automatické pretrvávanie a vymaže súbory RDB.

3. Spúšť synchronizácie master-slave

Keď pri replikácii Redis master-slave, keď podriadený uzol vykoná operáciu úplnej replikácie, hlavný uzol vykoná príkaz bgsave na odoslanie súboru RDB do podriadeného uzla.Tento proces automaticky spustí Redis persistenciu.

Redis môže dopytovať aktuálne konfiguračné parametre prostredníctvom príkazov.

Formát príkazu dotazu je:config get xxx

Napríklad, ak chcete získať nastavenie názvu úložiska súboru RDB, môžete použiť config get dbfilename .

Účinok vykonania je nasledujúci:

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

Keďže server Redis zablokuje načítavanie súboru RDB, kým sa načítanie nedokončí, môže to spôsobiť dlhý čas a webovú stránku nebude možné získať.

Ak chcete manuálne odstrániť súbor vyrovnávacej pamäte RDB dump.rdb z Redis, môžete použiť nasledujúci príkaz na nájdenie cesty k úložisku súboru dump.rdb▼

find / -name dump.rdb
  • Potom manuálne odstráňte súbor cache dump.rdb cez SSH.

Redis nastavuje konfiguráciu RDB

Pokiaľ ide o nastavenie konfigurácie RDB, môžete použiť nasledujúce dva spôsoby:

  1. Manuálne upravte konfiguračný súbor Redis
  2. Použite nastavenia príkazového riadka, config set dir "/usr/data" je príkaz úložiska na úpravu súboru RDB

Poznámka: Konfiguráciu v redis.conf je možné získať cez config get xxx a upraviť cez konfiguračnú sadu xxx value a metóda ručnej úpravy konfiguračného súboru Redis je globálne účinná, to znamená, že parametre nastavené reštartovaním servera Redis nebudú stratíte, ale upravíte pomocou príkazu , po reštarte Redis sa stratí.

Ak však chcete manuálne upraviť konfiguračný súbor Redis, aby sa prejavil okamžite, musíte reštartovať server Redis a metóda príkazu nevyžaduje reštart servera Redis.

Obnova súboru RDB

Po spustení servera Redis, ak súbor RDB dump.rdb existuje v koreňovom adresári Redis, Redis automaticky načíta súbor RDB na obnovenie trvalých údajov.

Ak sa v koreňovom adresári nenachádza žiadny súbor dump.rdb, najskôr presuňte súbor dump.rdb do koreňového adresára Redis.

Samozrejmosťou je logová informácia pri spustení Redis, ktorá ukáže, či je načítaný RDB súbor.

Server Redis blokuje pri načítavaní súboru RDB, kým sa načítanie nedokončí.

Teraz vieme, že pretrvávanie RDB sa delí na dva spôsoby: manuálne spúšťanie a automatické spúšťanie:

  1. Jeho výhodou je, že úložný súbor je malý a obnova dát je po spustení Redis rýchlejšia.
  2. Nevýhodou je, že existuje riziko straty údajov.

Obnova súborov RDB je tiež veľmi jednoduchá. Stačí umiestniť súbory RDB do koreňového adresára Redis a Redis po spustení automaticky načíta a obnoví údaje.

Výhody a nevýhody RDB

1) Výhody RDB

Obsah RDB sú binárne dáta, zaberá menej pamäte, je kompaktnejší a je vhodnejší ako záložný súbor;

RDB je veľmi užitočný na obnovu po havárii, je to komprimovaný súbor, ktorý možno rýchlejšie preniesť na vzdialený server na obnovenie služby Redis;

RDB môže výrazne zvýšiť rýchlosť Redis, pretože hlavný proces Redis rozdelí podriadený proces, aby uchovával údaje na disku.

Hlavný proces Redis nevykonáva operácie, ako je diskový I/O;

V porovnaní so súbormi vo formáte AOF sa súbory RDB reštartujú rýchlejšie.

2) Nevýhody RDB

Pretože RDB dokáže ukladať dáta len v určitom časovom intervale, ak sa služba Redis náhodou uprostred ukončí, dáta Redis sa na určitý čas stratia;

Proces, v ktorom RDB vyžaduje časté forky na uloženie na disk pomocou podpoložky.

Ak je súbor údajov veľký, fork môže byť časovo náročný a ak je súbor údajov veľký, výkon procesora je slabý, čo môže spôsobiť, že Redis nebude môcť slúžiť klientom niekoľko milisekúnd alebo dokonca sekundy.

Samozrejme, môžeme tiež deaktivovať perzistenciu, aby sme zlepšili efektivitu vykonávania Redis.

Ak nie ste citlivý na stratu údajov, môžete to urobiť, keď sa klient pripojí config set save "" Príkaz na zakázanie pretrvávania pre Redis.

redis.conf, ak je vsaveZakomentujte všetky konfigurácie na začiatku a perzistencia bude tiež zakázaná, ale vo všeobecnosti sa to nerobí.

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared „Aký je úplný názov Redis RDB? Režim prevádzky Redis RDB In-Memory Data Persistence, ktorý vám pomôže.

Vitajte pri zdieľaní odkazu na tento článok:https://www.chenweiliang.com/cwl-26677.html

Vitajte na telegramovom kanáli blogu Chen Weiliang, kde získate najnovšie aktualizácie!

🔔 Buďte prvý, kto získa cennú „Sprievodcu používaním nástroja AI pre obsahový marketing ChatGPT“ v hlavnom adresári kanála! 🌟
📚 Táto príručka obsahuje obrovskú hodnotu, 🌟Toto je vzácna príležitosť, nenechajte si ju ujsť! ⏰⌛💨
Ak sa vám páči, zdieľajte a lajkujte!
Vaše zdieľanie a lajky sú našou neustálou motiváciou!

 

发表 评论

Vaša emailová adresa nebude zverejnená. 必填 项 已 用 * Štítok

prejdite na začiatok