Kāds ir Redis RDB pilnais nosaukums? Redis RDB atmiņas datu noturības darbības režīms

RDB pilns nosaukums irRedis database.

  • Kā norāda nosaukums, RDB ir Redis datu bāze, ko izmanto datu glabāšanai.
  • Tāpēc, izmantojot RDB noturību, Redis atmiņā saglabātie dati tiek ierakstīti RDB failā un saglabāti diskā, lai nodrošinātu noturību.
  • Redis iezīme ir tāda, ka tā var saglabāt datus, tas ir, ierakstīt datus atmiņā uz diska, lai nodrošinātu, ka dati netiek zaudēti, un var arī ielādēt datus no diska atmiņā.

Kāds ir Redis RDB pilnais nosaukums? Redis RDB atmiņas datu noturības darbības režīms

Redis darbības sākumā visas ir balstītas uz atmiņu, tāpēc veiktspēja ir ļoti augsta, bet pēc programmas aizvēršanas dati tiek zaudēti.

Tāpēc mums ir jāieraksta atmiņā esošie dati diskā noteiktos intervālos, kas žargonā ir momentuzņēmums.

Atjaunojot, momentuzņēmuma fails tiek ierakstīts tieši atmiņā.

Šī ir arī viena no galvenajām atšķirībām starp Redis un Memcached, jo Memcached nav noturības iespējas.

Redis atmiņas datu saglabāšanai Redis mums nodrošina šādas metodes:

  • Snapshot metode (RDB, Redis DataBase): ierakstīt atmiņas datus diskā binārā formā noteiktā brīdī;
  • Append Only File (AOF, Append Only File), ierakstiet visas operāciju komandas un pievienojiet failam teksta formā;
  • Hibrīda noturība, jauna metode pēc Redis 4.0, hibrīda noturība apvieno RDB un AOF priekšrocības.Rakstot, vispirms ierakstiet pašreizējos datus faila sākumā RDB formā un pēc tam saglabājiet failā nākamās darbības komandas AOF formā, kas var ne tikai nodrošināt Redis restartēšanas ātrumu, bet arī samazināt datu zaudēšanas risks.

Tā kā katrai noturības shēmai ir īpaši lietošanas scenāriji.

Redis RDB atmiņas datu noturības darbības režīms

  • RDB (Redis DataBase) ir atmiņas momentuzņēmuma (momentuzņēmuma) ierakstīšanas process diskā noteiktā brīdī binārā formā.
  • Atmiņas momentuzņēmumi ir tas, ko mēs teicām iepriekš.Tas attiecas uz datu stāvokļa ierakstu atmiņā noteiktā brīdī.
  • Tas ir līdzīgs fotoattēla uzņemšanai. Kad fotografējat draugu, fotoattēlā var uzreiz ierakstīt visus drauga attēlus.
  • Ir divi veidi, kā aktivizēt RDB: viens ir manuāla aktivizēšana, bet otrs ir automātiska aktivizēšana.

Manuāli iedarbiniet RDB

Pastāv divas darbības, lai manuāli aktivizētu noturību:savebgsave.

Galvenā atšķirība starp tām ir vai nebloķēt Redis galvenā pavediena izpildi.

1. saglabāt komandu

Saglabāšanas komandas izpilde klienta pusē izraisīs Redis noturību, taču tā arī padarīs Redis bloķēšanas stāvoklī. Tā nereaģēs uz citu klientu nosūtītajām komandām, līdz tiek saglabāta RDB, tāpēc tā ir jāizmanto piesardzīgi ražošanas vidi.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Komandas izpildes process ir parādīts attēlā 

2. bgsave komanda

  • bgsave (fona saglabāšana) ir saglabāšana fonā.
  • Lielākā atšķirība starp to un saglabāšanas komandu ir tā, ka bgsave dakšu atvasinās, lai veiktu noturību.
  • Viss process ir tikai tad, kad bērna process ir dakša.Tikai īslaicīgi bloķēts.
  • Pēc bērna procesa izveides Redis galvenais process var atbildēt uz citu klientu pieprasījumiem.

ar visa procesa bloķēšanusavesalīdzinot ar komandubgsaveAcīmredzot komanda mums ir piemērotāka.

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

Automātiski aktivizēt RDB

Pēc tam, kad runājam par manuālo aktivizēšanu, apskatīsim automātisko aktivizēšanu.Mēs varam konfigurēt automātiskās palaišanas nosacījumus konfigurācijas failā.

1. ietaupīt mn

  • save mn nozīmē, ka m sekunžu laikā, ja mainās n taustiņi, noturība tiek automātiski aktivizēta.Parametrus m un n var atrast Redis konfigurācijas failā.
  • Piemēram, saglabāt 60 1 nozīmē, ka 60 sekunžu laikā, kamēr mainās viena atslēga, tiks aktivizēta RDB noturība.
  • Automātiskās palaišanas noturības būtība ir tāda, ka, ja ir izpildīti iestatītie palaišanas nosacījumi, Redis vienreiz automātiski izpildīs komandu bgsave.

Piezīme. Ja ir iestatītas vairākas saglabāšanas mn komandas, jebkurš nosacījums aktivizēs noturību.

Piemēram, mēs iestatām šādas divas saglabāšanas mn komandas:

save 60 10
save 600 20
  • Kad Redis atslēgas vērtība 60 sekunžu laikā mainās 10 reizes, tiks aktivizēta noturība;
  • Ja Redis atslēga mainās 60 sekunžu laikā un ja vērtība mainās mazāk nekā 10 reizes, tad Redis noteiks, vai Redis atslēga ir mainīta vismaz 600 reizes 20 sekunžu laikā, un, ja tā, aktivizēs noturību.

2. Flushall

  • Komanda flushall tiek izmantota, lai izskalotu Redis datu bāzi.
  • Ražošanas vidē tas jālieto piesardzīgi.
  • Kad Redis izpilda komandu flushall, tā aktivizē automātisku noturību un notīra RDB failu.

3. Master-slave sinhronizācijas trigeris

Redis galvenā-vergu replikācijā, kad pakārtotais mezgls veic pilnu replikācijas darbību, galvenais mezgls izpildīs komandu bgsave, lai nosūtītu RDB failu uz slaveno mezglu. Šis process automātiski aktivizē Redis noturību.

Redis var pieprasīt pašreizējos konfigurācijas parametrus, izmantojot komandas.

Vaicājuma komandas formāts ir šāds:config get xxx

Piemēram, ja vēlaties iegūt RDB faila krātuves nosaukuma iestatījumu, varat izmantot config get dbfilename .

Izpildes efekts ir šāds:

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

Tā kā Redis serveris bloķēs, ielādējot RDB failu, līdz ielāde būs pabeigta, tas var ieilgt un vietnei nevar piekļūt.

Ja vēlaties manuāli dzēst Redis RDB kešatmiņas failu dump.rdb, varat izmantot šo komandu, lai atrastu faila dump.rdb krātuves ceļu▼

find / -name dump.rdb
  • Pēc tam manuāli izdzēsiet kešatmiņas failu dump.rdb, izmantojot SSH.

Redis iestata RDB konfigurāciju

Lai iestatītu RDB konfigurāciju, varat izmantot šādus divus veidus:

  1. Manuāli modificējiet Redis konfigurācijas failu
  2. Izmantojiet komandrindas iestatījumus, config set dir "/usr/data" ir uzglabāšanas komanda, lai modificētu RDB failu

Piezīme. Vietnē redis.conf konfigurāciju var iegūt, izmantojot config get xxx, un modificēt, izmantojot config set xxx vērtību, un Redis konfigurācijas faila manuālas modificēšanas metode ir globāli efektīva, tas ir, parametri, kas iestatīti, restartējot Redis serveri, nedarbosies. tiks pazaudēts, bet mainīts, izmantojot komandu , tas tiks zaudēts pēc Redis restartēšanas.

Tomēr, ja vēlaties manuāli modificēt Redis konfigurācijas failu, lai tas stātos spēkā nekavējoties, jums ir jārestartē Redis serveris, un komandu metodei nav nepieciešama Redis servera restartēšana.

RDB failu atkopšana

Kad Redis serveris startē, ja Redis saknes direktorijā ir RDB fails dump.rdb, Redis automātiski ielādēs RDB failu, lai atjaunotu pastāvīgos datus.

Ja saknes direktorijā nav faila dump.rdb, lūdzu, vispirms pārvietojiet failu dump.rdb uz Redis saknes direktoriju.

Protams, startējot Redis, ir žurnāla informācija, kas parādīs, vai RDB fails ir ielādēts.

Redis serveris bloķē RDB faila ielādes laikā, līdz ielāde ir pabeigta.

Tagad mēs zinām, ka RDB noturība ir sadalīta divos veidos: manuāla aktivizēšana un automātiska aktivizēšana:

  1. Tā priekšrocība ir tāda, ka atmiņas fails ir mazs un datu atkopšana notiek ātrāk, startējot Redis.
  2. Negatīvā puse ir datu zuduma risks.

Arī RDB failu atkopšana ir ļoti vienkārša. Vienkārši ievietojiet RDB failus Redis saknes direktorijā, un Redis automātiski ielādēs un atjaunos datus, kad tas sāksies.

RDB plusi un mīnusi

1) RDB priekšrocības

RDB saturs ir bināri dati, kas aizņem mazāk atmiņas, ir kompaktāks un vairāk piemērots kā rezerves fails;

RDB ir ļoti noderīgs avārijas seku novēršanai, tas ir saspiests fails, kuru var ātrāk pārsūtīt uz attālo serveri Redis servisa atjaunošanai;

RDB var ievērojami uzlabot Redis ātrumu, jo galvenais Redis process novirzīs bērnu procesu, lai saglabātu datus diskā.

Redis galvenais process neveic tādas darbības kā diska I/O;

Salīdzinot ar AOF formāta failiem, RDB faili tiek restartēti ātrāk.

2) RDB trūkumi

Tā kā RDB var saglabāt datus tikai noteiktā laika intervālā, ja Redis pakalpojums tiek nejauši pārtraukts vidū, Redis dati uz noteiktu laiku tiks zaudēti;

Process, kurā RDB ir nepieciešamas biežas dakšas, lai to saglabātu diskā, izmantojot apakšiedaļu.

Ja datu kopa ir liela, dakša var būt laikietilpīga, un, ja datu kopa ir liela, CPU veiktspēja ir slikta, kā rezultātā Redis dažas milisekundes vai pat sekundi nevar apkalpot klientus.

Protams, mēs varam arī atspējot noturību, lai uzlabotu Redis izpildes efektivitāti.

Ja neesat jutīgs pret datu zudumu, varat to izdarīt, kad klients izveido savienojumu config set save "" Komanda, lai atspējotu Redis noturību.

redis.conf, ja iekšāsaveSākumā komentējiet visas konfigurācijas, un noturība arī tiks atspējota, taču parasti tas netiek darīts.

Hope Chen Weiliang emuārs ( https://www.chenweiliang.com/ ) kopīgoja "Kāds ir Redis RDB pilnais nosaukums? Redis RDB atmiņas datu noturības darbības režīms", jums palīdzēs.

Laipni lūdzam kopīgot šī raksta saiti:https://www.chenweiliang.com/cwl-26677.html

Laipni lūdzam Chen Weiliang emuāra Telegram kanālā, lai saņemtu jaunākos atjauninājumus!

🔔 Esiet pirmais, kas kanāla augšējā direktorijā iegūst vērtīgo "ChatGPT satura mārketinga AI rīka lietošanas ceļvedi"! 🌟
📚 Šajā rokasgrāmatā ir milzīga vērtība, 🌟Šī ir reta iespēja, nepalaidiet to garām! ⏰⌛💨
Dalies un patīk, ja patīk!
Jūsu kopīgošana un atzīmes Patīk ir mūsu nepārtraukta motivācija!

 

发表 评论

Jūsu e-pasta adrese netiks publicēta. 必填 项 已 用 * Etiķete

ritiniet uz augšu