Wat is de folsleine namme fan Redis RDB? Redis RDB ûnthâld gegevens persistinsje operaasje modus

De folsleine namme fan RDB isRedis database.

  • Lykas de namme al fermoeden docht, is RDB in Redis-database dy't brûkt wurdt om gegevens op te slaan.
  • Dêrom wurde troch RDB-persistinsje de gegevens opslein yn it Redis-ûnthâld skreaun nei it RDB-bestân en opslein op 'e skiif om persistinsje te berikken.
  • It skaaimerk fan Redis is dat it kin oanhâlde gegevens, dat is, skriuwe gegevens yn ûnthâld oan skiif om te soargjen dat gjin gegevens wurdt ferlern, en kin ek lade gegevens fan skiif yn it ûnthâld.

Wat is de folsleine namme fan Redis RDB? Redis RDB ûnthâld gegevens persistinsje operaasje modus

De operaasjes fan Redis oan it begjin binne allegear basearre op ûnthâld, sadat de prestaasjes tige heech binne, mar as it programma ienris sluten is, binne de gegevens ferlern.

Dêrom moatte wy gegevens yn it ûnthâld op skiif skriuwe op bepaalde yntervallen, dat is Snapshot yn jargon.

By it weromsetten wurdt de snapshottriem direkt nei it ûnthâld skreaun.

Dit is ek ien fan 'e wichtichste ferskillen tusken Redis en Memcached, om't Memcached gjin persistinsjefermogen hat.

Foar de persistinsje fan Redis-ûnthâldgegevens leveret Redis ús de folgjende metoaden:

  • Snapshot metoade (RDB, Redis DataBase): skriuw ûnthâld gegevens oan skiif yn binêre foarm op in bepaald momint;
  • Allinnich bestân taheakje (AOF, Allinnich bestân taheakje), alle operaasjekommando's opnimme en taheakje oan it bestân yn tekstfoarm;
  • Hybride persistinsje, in nije metoade nei Redis 4.0, hybride persistinsje kombinearret de foardielen fan RDB en AOF.By it skriuwen, skriuw earst de aktuele gegevens nei it begjin fan it bestân yn 'e foarm fan RDB, en bewarje dan de folgjende operaasjekommando's yn' e bestân yn 'e foarm fan AOF, dy't net allinich de snelheid fan 'e opnij starte Redis kin garandearje, mar ek ferminderje it risiko fan gegevensferlies.

Om't elk persistinsjeskema spesifike gebrûkssenario's hat.

Redis RDB ûnthâld gegevens persistinsje operaasje modus

  • RDB (Redis DataBase) is it proses fan it skriuwen fan in ûnthâld snapshot (Snapshot) op in bepaald momint nei skiif yn binêre foarm.
  • Unthâld snapshots binne wat wy hjirboppe seine.It ferwiist nei it steatrekord fan gegevens yn it ûnthâld op in bepaald momint.
  • Dit is gelyk oan it meitsjen fan in foto. As jo ​​in foto meitsje fan in freon, kin in foto daliks alle ôfbyldings fan de freon opnimme.
  • D'r binne twa manieren om RDB te triggerjen: ien is manuele triggering, en de oare is automatysk triggering.

Trigger de RDB manuell

D'r binne twa operaasjes om persistinsje manuell te triggerjen:saveenbgsave.

It wichtichste ferskil tusken harren is it al of net blokkearje de útfiering fan de Redis haadthread.

1. bewarje kommando

It útfieren fan it kommando opslaan oan 'e kant fan' e kliïnt sil de persistinsje fan Redis oansette, mar it sil Redis ek yn in blokkearjende steat meitsje. de produksje omjouwing.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

It proses fan it útfieren fan it kommando wurdt werjûn yn 'e figuer 

2. bgsave kommando

  • bgsave (eftergrûn bewarje) is in eftergrûn bewarje.
  • It grutste ferskil tusken it en it kommando opslaan is dat bgsave in bernproses sil forke om persistinsje út te fieren.
  • It hiele proses bart allinich as it bernproses gabel is.Der is mar in koarte blokkade.
  • Nei it berneproses is oanmakke, kin it haadproses fan Redis reagearje op fersiken fan oare kliïnten.

mei blokkearjen fan it hiele prosessaveferlike mei it kommandobgsaveKommando is fansels mear geskikt foar ús om te brûken.

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

RDB automatysk oansette

Nei it praten oer hânmjittich triggerjen, litte wy nei automatyske triggering sjen.Wy kinne de betingsten foar automatyske triggering yn it konfiguraasjetriem ynstelle.

1. bewarje mn

  • bewarje mn betsjut dat binnen m sekonden, as n kaaien feroarje, persistinsje wurdt automatysk aktivearre.Parameters m en n kinne fûn wurde yn it Redis-konfiguraasjetriem.
  • Bygelyks, bewarje 60 1 betsjut dat binnen 60 sekonden, sa lang as ien kaai feroaret, sil RDB-persistinsje aktivearre wurde.
  • De essinsje fan it automatysk triggerjen fan persistinsje is dat as de ynstelde triggerbetingsten foldien wurde, Redis automatysk it bgsave-kommando ien kear útfiere.

Opmerking: As meardere opslach-mn-kommando's binne ynsteld, sil ien betingst persistinsje útlizze.

Wy sette bygelyks de folgjende twa save mn-kommando's yn:

save 60 10
save 600 20
  • Wannear't de Redis kaai wearde feroaret 60 kear binnen 10s, sil persistinsje wurde trigger;
  • As de Redis kaai feroaret binnen 60s, en as de wearde feroaret minder as 10 kear, Redis sil bepale oft de Redis kaai is feroare op syn minst 600 kear binnen 20s, en as dat sa is, trigger persistinsje.

2. Flushall

  • It kommando flushall wurdt brûkt om de Redis-database te spoelen.
  • It moat mei foarsichtigens brûkt wurde yn in produksjeomjouwing.
  • As Redis it Flushall-kommando útfiert, triggert it automatyske persistinsje en wisket it RDB-bestân.

3. Master-slave syngronisaasje trigger

Yn Redis master-slave-replikaasje, as it slaveknooppunt in folsleine replikaasjeoperaasje útfiert, sil de masterknoop it kommando bgsave útfiere om it RDB-bestân nei it slaveknooppunt te stjoeren. Dit proses triggert automatysk Redis-persistinsje.

Redis kin de hjoeddeistige konfiguraasjeparameters opfreegje fia kommando's.

De opmaak fan it query kommando is:config get xxx

As jo ​​​​bygelyks de opslachnamme-ynstelling fan in RDB-bestân krije wolle, kinne jo brûke config get dbfilename .

It útfieringseffekt is as folget:

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

Sûnt de Redis-tsjinner sil blokkearje by it laden fan it RDB-bestân oant it laden foltôge is, kin it in lange tiid feroarsaakje en de webside kin net tagonklik wurde.

As jo ​​de RDB-cache-bestân dump.rdb fan Redis manuell wiskje wolle, kinne jo it folgjende kommando brûke om it opslachpaad fan it dump.rdb-bestân te finen▼

find / -name dump.rdb
  • Wiskje dan de dump.rdb-cache-bestân manuell fia SSH.

Redis stelt de konfiguraasje fan RDB yn

Oangeande it ynstellen fan de konfiguraasje fan RDB, kinne jo de folgjende twa manieren brûke:

  1. Feroarje it Redis-konfiguraasjetriem manuell
  2. Brûk de kommandorigelynstellingen, config set dir "/usr/data" is it opslachkommando om it RDB-bestân te feroarjen

Opmerking: De konfiguraasje yn redis.conf kin krigen wurde fia config get xxx en wizige fia config set xxx wearde, en de metoade foar it manuell wizigjen fan it Redis-konfiguraasjetriem is globaal effektyf, dat is, de parameters ynsteld troch it opnij starte fan de Redis-tsjinner sille net ferlern gean, mar wizige mei it kommando , it sil ferlern gean neidat Redis opnij is opstart.

As jo ​​​​lykwols it Redis-konfiguraasjebestân manuell wizigje wolle om fuortendaliks effekt te meitsjen, moatte jo de Redis-tsjinner opnij starte, en de kommandometoade fereasket net dat de Redis-tsjinner opnij starte.

RDB triem herstel

As de Redis-tsjinner begjint, as de RDB-bestân dump.rdb bestiet yn 'e Redis-rootmap, sil Redis de RDB-bestân automatysk lade om persistente gegevens te herstellen.

As d'r gjin dump.rdb-bestân is yn 'e root-map, ferpleatse dan it dump.rdb-bestân earst nei de root-map fan Redis.

Fansels is d'r logynformaasje as Redis begjint, wat sil sjen litte oft it RDB-bestân laden is.

De Redis-tsjinner blokkearret by it laden fan it RDB-bestân oant it laden foltôge is.

No witte wy dat RDB-persistinsje is ferdield yn twa manieren: manuele triggering en automatyske triggering:

  1. It foardiel dêrfan is dat it opslachbestân lyts is en gegevensherstel rapper is as Redis is begon.
  2. It neidiel is dat d'r in risiko is foar gegevensferlies.

It herstel fan RDB-bestannen is ek heul ienfâldich. Set it RDB-bestân gewoan yn 'e root-map fan Redis, en Redis sil automatysk gegevens laden en weromsette as it begjint.

RDB foar- en neidielen

1) RDB foardielen

RDB-ynhâld is binêre gegevens, nimt minder ûnthâld yn, is kompakter en is geskikter as reservekopybestân;

RDB is tige brûkber foar disaster recovery, it is in komprimearre triem dat kin wurde oerdroegen oan in ôfstân tsjinner flugger foar Redis tsjinst herstel;

RDB kin de snelheid fan Redis gâns ferbetterje, om't it haad Redis-proses in bernproses sil forke om gegevens op skiif oan te hâlden.

It haadproses fan Redis docht gjin operaasjes lykas skiif I/O;

Yn ferliking mei AOF-formaatbestannen, starte RDB-bestannen rapper op 'e nij.

2) Neidielen fan RDB

Om't RDB allinich gegevens op in bepaald tiidsinterval opslaan kin, as de Redis-tsjinst per ûngelok yn 'e midden beëinige wurdt, sille de Redis-gegevens foar in perioade fan tiid ferlern gean;

In proses wêryn RDB faak foarken fereasket om it op skiif te hâlden mei subentry.

As de dataset grut is, kin foarke tiidslinend wêze, en as de dataset grut is, is de CPU-prestaasjes min, wat kin feroarsaakje dat Redis in pear millisekonden of sels in sekonde gjin kliïnten kin tsjinje.

Fansels kinne wy ​​ek persistinsje útskeakelje om de útfieringseffisjinsje fan Redis te ferbetterjen.

As jo ​​net gefoelich binne foar gegevensferlies, kinne jo dit dwaan as de kliïnt ferbynt config set save "" Kommando om persistinsje út te skeakeljen foar Redis.

redis.conf,as ynsaveKommentearje alle konfiguraasjes oan it begjin, en persistinsje wurdt ek útskeakele, mar dit wurdt oer it algemien net dien.

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) dield "Wat is de folsleine namme fan Redis RDB? Redis RDB In-Memory Data Persistence Operation Mode, dat is nuttich foar jo.

Wolkom om de keppeling fan dit artikel te dielen:https://www.chenweiliang.com/cwl-26677.html

Wolkom by it Telegram-kanaal fan Chen Weiliang's blog om de lêste updates te krijen!

🔔 Wês de earste om de weardefolle "ChatGPT Content Marketing AI Tool Usage Guide" te krijen yn 'e kanaaltopmap! 🌟
📚 Dizze hantlieding befettet enoarme wearde, 🌟Dit is in seldsume kâns, mis it net! ⏰⌛💨
Diel en like as jo wolle!
Jo dielen en likes binne ús trochgeande motivaasje!

 

发表 评论

Jo e-postadres wurdt net publisearre. Ferplichte fjilden wurde brûkt * Etiket

rôlje nei boppen