Wat ass de ganzen Numm vum Redis RDB? Redis RDB Erënnerung Daten Persistenz Operatioun Modus

De ganzen Numm vun RDB assRedis database.

  • Wéi den Numm et scho seet, ass RDB eng Redis Datebank déi benotzt gëtt fir Daten ze späicheren.
  • Dofir, duerch RDB Persistenz, ginn d'Donnéeën, déi am Redis Gedächtnis gespäichert sinn, an d'RDB Datei geschriwwe ginn an op der Disk gespäichert fir Persistenz z'erreechen.
  • D'Fonktioun vu Redis ass datt et Daten ka bestoe loossen, dat heescht Daten an Erënnerung op Disk schreiwen fir sécherzestellen datt keng Daten verluer sinn, a kann och Daten vun der Disk an d'Erënnerung lueden.

Wat ass de ganzen Numm vum Redis RDB? Redis RDB Erënnerung Daten Persistenz Operatioun Modus

D'Operatiounen vu Redis am Ufank baséieren all op Erënnerung, sou datt d'Performance ganz héich ass, awer wann de Programm zougemaach ass, ginn d'Donnéeë verluer.

Dofir musse mir In-Memory Daten op Disk mat spezifizéierten Intervalle schreiwen, dat ass Snapshot am Jargon.

Beim Restauréieren gëtt d'Snapshotdatei direkt an d'Erënnerung geschriwwe.

Dëst ass och ee vun den Haaptunterschiede tëscht Redis a Memcached, well Memcached keng Persistenzfäegkeet huet.

Fir d'Persistenz vu Redis Erënnerungsdaten, gëtt Redis eis déi folgend Methoden:

  • Snapshot Method (RDB, Redis DataBase): Schreift Erënnerungsdaten op Scheif a binär Form zu engem bestëmmte Moment;
  • Nëmmen Datei addéieren (AOF, Nëmmen Datei addéieren), notéiert all Operatiounsbefehle a fügen d'Datei an Textform un;
  • Hybrid Persistenz, eng nei Method no Redis 4.0, Hybrid Persistenz kombinéiert d'Virdeeler vun RDB an AOF.Wann Dir schreift, schreift d'éischt déi aktuell Donnéeën un den Ufank vun der Datei a Form vun RDB, a späichert dann déi spéider Operatiounsbefehle an d'Datei a Form vun AOF, wat net nëmmen d'Geschwindegkeet vum Redis Restart garantéieren kann, awer och reduzéieren de Risiko vun Daten Verloscht.

Well all Persistenzschema huet spezifesch Benotzungsszenarien.

Redis RDB Erënnerung Daten Persistenz Operatioun Modus

  • RDB (Redis DataBase) ass de Prozess fir e Memory Snapshot (Snapshot) zu engem bestëmmte Moment op Disk a binär Form ze schreiwen.
  • Memory Snapshots si wat mir hei uewen gesot hunn.Et bezitt sech op de Staatsrekord vun Daten an der Erënnerung zu engem bestëmmte Moment.
  • Dëst ass ähnlech wéi eng Foto ze maachen. Wann Dir eng Foto vun engem Frënd maacht, kann eng Foto direkt all d'Biller vum Frënd ophuelen.
  • Et ginn zwou Weeër fir RDB auszeléisen: een ass manuell Ausléisung, an déi aner ass automatesch Ausléiser.

RDB manuell ausléisen

Et ginn zwou Operatiounen fir d'Persistenz manuell ausléisen:saveanbgsave.

Den Haaptunterschied tëscht hinnen ass ob Dir d'Ausféierung vum Redis Haaptthread blockéiere soll oder net.

1. späicheren Kommando

D'Ausféierung vum Save Kommando op der Client Säit wäert d'Persistenz vu Redis ausléisen, awer et wäert och Redis an engem Blockéierungszoustand maachen. der Produktioun Ëmfeld.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

De Prozess fir de Kommando auszeféieren ass an der Figur gewisen 

2. bgsave Kommando

  • bgsave (Background Save) ass en Background Save.
  • De gréissten Ënnerscheed tëscht et an dem Späicherbefehl ass datt bgsave e Kandprozess forkéiert fir Persistenz ze maachen.
  • De ganze Prozess geschitt nëmme wann de Kand Prozess Gabel ass.Et gëtt nëmmen eng kuerz Blockade.
  • Nodeems de Kannerprozess erstallt ass, kann den Haaptprozess vu Redis op Ufroe vun anere Clienten reagéieren.

mat blockéieren de ganze Prozesssaveam Verglach mam KommandobgsaveKommando ass offensichtlech méi gëeegent fir eis ze benotzen.

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

RDB automatesch ausléisen

Nodeems mir iwwer manuell Ausléisung geschwat hunn, kucke mir op automatesch Ausléisung.Mir kënnen d'Konditioune fir automatesch Ausléisung an der Konfiguratiounsdatei konfiguréieren.

1. retten mn

  • späicheren mn heescht datt bannent m Sekonnen, wann n Schlësselen änneren, Persistenz automatesch ausgeléist gëtt.Parameter m an n kënnen an der Redis Konfiguratiounsdatei fonnt ginn.
  • Zum Beispill, späicheren 60 1 bedeit datt bannent 60 Sekonnen, soulaang ee Schlëssel ännert, RDB Persistenz ausgeléist gëtt.
  • D'Essenz vun der automatescher Ausléisung vun der Persistenz ass datt wann déi festgeluechte Ausléiserbedéngungen erfëllt sinn, Redis automatesch de bgsave Kommando eemol ausféiert.

Bemierkung: Wann e puer Save mn Kommandoen agestallt sinn, wäert all Konditioun d'Persistenz ausléisen.

Zum Beispill setzen mir déi folgend zwee Save mn Kommandoen:

save 60 10
save 600 20
  • Wann de Redis Schlësselwäert 60 Mol bannent 10s ännert, gëtt d'Persistenz ausgeléist;
  • Wann de Redis Schlëssel bannent 60s ännert, a wann de Wäert manner wéi 10 Mol ännert, da wäert Redis bestëmmen ob de Redis Schlëssel op d'mannst 600 Mol bannent 20s geännert gouf, a wa jo, Ausléiser Persistenz.

2. Flushall

  • De Flushall Kommando gëtt benotzt fir d'Redis Datebank ze spülen.
  • Et muss mat Vorsicht an engem Produktiounsëmfeld benotzt ginn.
  • Wann Redis de Flushall Kommando ausféiert, dréit et automatesch Persistenz aus a läscht d'RDB-Datei.

3. Master-Sklave Synchroniséierung Ausléiser

An Redis Master-Sklave Replikatioun, wann de Sklave Node eng voll Replikatiounsoperatioun ausféiert, wäert de Master Node de Kommando bgsave ausféieren fir d'RDB-Datei an de Sklavennode ze schécken. Dëse Prozess setzt automatesch Redis Persistenz aus.

Redis kann déi aktuell Konfiguratiounsparameter duerch Kommandoen ufroen.

D'Format vum Ufro Kommando ass:config get xxx

Zum Beispill, wann Dir d'Späichernumm-Astellung fir eng RDB-Datei wëllt kréien, kënnt Dir benotzen config get dbfilename .

Den Ausféierungseffekt ass wéi follegt:

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

Well de Redis Server blockéiert wann d'RDB-Datei gelueden ass bis d'Luede fäerdeg ass, kann et eng laang Zäit verursaachen an d'Websäit kann net zougänglech sinn.

Wann Dir d'RDB Cache Datei dump.rdb vu Redis manuell läschen wëllt, kënnt Dir de folgende Kommando benotze fir de Späicherwee vun der dump.rdb Datei ze fannen▼

find / -name dump.rdb
  • Dann manuell d'dump.rdb Cache Datei iwwer SSH läschen.

Redis setzt d'Konfiguratioun vun RDB

Wat d'Konfiguratioun vu RDB ugeet, kënnt Dir déi folgend zwee Weeër benotzen:

  1. D'Redis Konfiguratiounsdatei manuell änneren
  2. Benotzt d'Command Line Astellungen, config set dir "/usr/data" ass de Späicherbefehl fir d'RDB Datei z'änneren

Bemierkung: D'Konfiguratioun an redis.conf kann duerch config get xxx kritt ginn an duerch Config Set xxx Wäert geännert ginn, an d'Methode fir d'Redis Konfiguratiounsdatei manuell z'änneren ass global effektiv, dat heescht, d'Parameteren, déi duerch Restart vum Redis Server gesat ginn, wäerten net verluer ginn, awer geännert mam Kommando , et gëtt verluer nodeems Redis nei start.

Wann Dir awer d'Redis Konfiguratiounsdatei manuell wëllt änneren fir direkt a Kraaft ze trëtt, musst Dir de Redis Server nei starten, an d'Kommandomethod erfuerdert net de Redis Server nei ze starten.

RDB Datei Erhuelung

Wann de Redis-Server ufänkt, wann d'RDB-Datei dump.rdb am Redis-Root-Verzeichnis existéiert, wäert Redis automatesch d'RDB-Datei lueden fir persistent Daten ze restauréieren.

Wann et keng dump.rdb-Datei am Root-Verzeichnis ass, réckelt w.e.g. d'dump.rdb-Datei an de Root-Verzeichnis vu Redis.

Natierlech gëtt et Loginformatioun wann Redis ufänkt, wat weist ob d'RDB-Datei gelueden ass.

De Redis Server blockéiert beim Luede vun der RDB Datei bis d'Luede fäerdeg ass.

Elo wësse mer datt d'RDB Persistenz an zwee Weeër opgedeelt ass: manuell Ausléisung an automatesch Ausléisung:

  1. Säi Virdeel ass datt d'Späicherdatei kleng ass an d'Datenerhuelung méi séier ass wann Redis gestart gëtt.
  2. De Nodeel ass datt et e Risiko fir Datenverloscht ass.

D'Recuperatioun vun de RDB-Dateien ass och ganz einfach. Setzt just d'RDB-Dateien an de Root-Verzeichnis vu Redis, a Redis luedt automatesch d'Daten un a restauréiert d'Daten wann se ufänkt.

RDB Virdeeler an Nodeeler

1) RDB Virdeeler

RDB Inhalt ass binär Daten, besetzt manner Erënnerung, ass méi kompakt, an ass méi gëeegent als Backupdatei;

RDB ass ganz nëtzlech fir Katastrophen Erhuelung, et ass eng kompriméiert Datei déi méi séier op e Fernserver transferéiert ka ginn fir Redis Service Erhuelung;

RDB kann d'Geschwindegkeet vu Redis staark verbesseren, well den Haapt Redis-Prozess e Kand-Prozess forkéiert fir Daten op Disk ze bestoen.

De Redis Haaptprozess mécht keng Operatiounen wéi Disk I / O;

Am Verglach mat AOF Formatdateien starten RDB Dateien méi séier nei.

2) Nodeeler vun RDB

Well RDB nëmmen Daten op engem gewëssen Zäitintervall späichere kann, wann de Redis-Service zoufälleg an der Mëtt ofgeschloss ass, ginn d'Redis-Date fir eng Zäit verluer;

E Prozess an deem RDB reegelméisseg Gabel erfuerdert fir se op der Disk ze halen mat Ënnerentrée.

Wann den Dataset grouss ass, kann d'Gabel Zäitopwänneg sinn, a wann d'Dateset grouss ass, ass d'CPU-Leeschtung schlecht, wat verursaache kann datt Redis net fäeg ass Clienten fir e puer Millisekonnen oder souguer eng Sekonn ze déngen.

Natierlech kënne mir och d'Persistenz deaktivéieren fir d'Ausféierungseffizienz vu Redis ze verbesseren.

Wann Dir net sensibel fir Datenverloscht sidd, kënnt Dir dëst maachen wann de Client verbënnt config set save "" Kommando fir d'Persistenz fir Redis auszeschalten.

anredis.conf,wann ansaveKommentéiert all Konfiguratiounen am Ufank, an d'Persistenz gëtt och behënnert, awer dëst gëtt normalerweis net gemaach.

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) gedeelt "Wat ass de ganzen Numm vum Redis RDB? Redis RDB In-Memory Data Persistence Operation Mode", hëlleft Iech.

Wëllkomm de Link vun dësem Artikel ze deelen:https://www.chenweiliang.com/cwl-26677.html

Wëllkomm op dem Telegram Kanal vum Chen Weiliang säi Blog fir déi lescht Updates ze kréien!

🔔 Gitt deen Éischten dee wäertvollen "ChatGPT Content Marketing AI Tool Usage Guide" am Kanal Top Verzeechnes ze kréien! 🌟
📚 Dëse Guide enthält en enorme Wäert, 🌟 Dëst ass eng selten Geleeënheet, verpasst et net! ⏰⌛💨
Deelen a liken wann dir wëllt!
Är Deelen a Likes sinn eis kontinuéierlech Motivatioun!

 

Comments

Är E-Mail Adress gëtt net verëffentlecht. Néideg Felder gi benotzt * Etikett

scroll no uewen