Zein da Redis RDB-ren izen osoa? Redis RDB memoria datuen iraunkortasun eragiketa modua

RDBren izen osoa daRedis database.

  • Izenak dioen bezala, RDB datuak gordetzeko erabiltzen den Redis datu-base bat da.
  • Beraz, RDB iraunkortasunaren bidez, Redis memorian gordetako datuak RDB fitxategian idazten dira eta diskoan gordetzen dira iraunkortasuna lortzeko.
  • Redis-en ezaugarria da datuak iraun ditzakeela, hau da, datuak memorian diskoan idaztea daturik ez galtzen ziurtatzeko, eta diskotik datuak memorian karga ditzakeela da.

Zein da Redis RDB-ren izen osoa? Redis RDB memoria datuen iraunkortasun eragiketa modua

Hasieran Redis-en eragiketak memorian oinarritzen dira, beraz, errendimendua oso altua da, baina behin programa itxita, datuak galtzen dira.

Hori dela eta, memoriako datuak diskoan idatzi behar ditugu zehaztutako tarteetan, hau da, Snapshot jergoan.

Berrezartzean, argazki-fitxategia zuzenean idazten da memorian.

Hau ere Redis eta Memcached-en arteko desberdintasun nagusietako bat da, Memcached-ek ez baitu iraunkortasun gaitasunik.

Redis memoria-datuen iraunkortasuna lortzeko, Redis-ek metodo hauek eskaintzen dizkigu:

  • Snapshot metodoa (RDB, Redis DataBase): idatzi memoria datuak diskoan forma bitar batean une jakin batean;
  • Erantsi Fitxategia bakarrik (AOF, Erantsi Fitxategia bakarrik), grabatu eragiketa-komando guztiak eta erantsi fitxategiari testu moduan;
  • Iraunkortasun hibridoa, Redis 4.0-ren ondorengo metodo berria, iraunkortasun hibridoa RDB eta AOFren abantailak konbinatzen ditu.Idazten duzunean, idatzi lehenik uneko datuak fitxategiaren hasieran RDB moduan, eta ondoren gorde ondorengo eragiketa-komandoak fitxategian AOF moduan, eta horrek Redis berrabiarazteko abiadura bermatu ez ezik, murriztu ere egin dezake. datuak galtzeko arriskua.

Iraupen-eskema bakoitzak erabilera-eszenatoki zehatzak dituelako.

Redis RDB memoria datuen iraunkortasun eragiketa modua

  • RDB (Redis DataBase) memoria snapshot (Snapshot) une jakin batean diskoan forma bitar batean idazteko prozesua da.
  • Memoriaren argazkiak goian esan ditugunak dira.Une jakin batean memorian dauden datuen egoera-erregistroari egiten dio erreferentzia.
  • Hau argazki bat ateratzearen antzekoa da. Lagun bati argazki bat ateratzen duzunean, argazki batek berehala graba ditzake lagunaren irudi guztiak.
  • RDB abiarazteko bi modu daude: bata eskuzko abiarazpena da, eta bestea abiarazte automatikoa da.

Eskuz abiarazi RDB

Bi eragiketa daude eskuz iraunkortasuna abiarazteko:savebgsave.

Horien arteko desberdintasun nagusia Redis hari nagusiaren exekuzioa blokeatu ala ez da.

1. gorde komandoa

Bezeroaren aldean gordetzeko komandoa exekutatzeak Redis-en iraupena eragingo du, baina Redis blokeo-egoeran ere jarriko du. Ez du erantzungo beste bezeroek bidalitako komandoei RDB iraunarazten den arte, beraz, kontu handiz erabili behar da. ekoizpen ingurunea.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Komandoa exekutatzeko prozesua irudian ageri da 

2. bgsave komandoa

  • bgsave (atzeko planoa gordetzea) atzeko planoa gordetzea da.
  • Haren eta gorde komandoaren arteko alderik handiena da bgsave-k prozesu seme-alaba bat bideratuko duela iraunkortasuna egiteko.
  • Prozesu osoa haurraren prozesua sardexka denean bakarrik gertatzen da.Blokeo labur bat besterik ez dago.
  • Haurraren prozesua sortu ondoren, Redis-en prozesu nagusiak beste bezeroen eskaerei erantzun diezaieke.

prozesu osoa blokeatuzsavekomandoarekin alderatutabgsaveKomandoa, jakina, egokiagoa da guretzat erabiltzeko.

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

Abiarazi automatikoki RDB

Eskuzko abiarazteari buruz hitz egin ondoren, ikus dezagun abiarazte automatikoari.Konfigurazio fitxategian abiarazteko baldintzak konfigura ditzakegu.

1. gorde mn

  • save mn esan nahi du m segundotan, n teklak aldatzen badira, iraunkortasuna automatikoki abiarazten dela.m eta n parametroak Redis konfigurazio fitxategian aurki daitezke.
  • Adibidez, 60 1 gordetzeak esan nahi du 60 segundo barru, gako bat aldatzen den bitartean, RDB iraunkortasuna abiaraziko dela.
  • Iraunkortasuna automatikoki abiarazteko funtsa hauxe da: ezarritako abiarazte-baldintzak betetzen badira, Redis-ek bgsave komandoa automatikoki exekutatuko du behin.

Oharra: gordetzeko mn komando bat baino gehiago ezartzen direnean, edozein baldintza batek iraunkortasuna eragingo du.

Adibidez, honako bi gorde mn komando hauek ezarri ditugu:

save 60 10
save 600 20
  • Redis gakoaren balioa 60 segundotan 10 aldiz aldatzen denean, iraunkortasuna piztuko da;
  • Redis gakoa 60 segundotan aldatzen bada, eta balioa 10 aldiz baino gutxiago aldatzen bada, Redis-ek zehaztuko du Redis gakoa gutxienez 600 aldiz aldatu den 20 segundoko epean, eta hala bada, iraunkortasuna piztuko du.

2. Flushall

  • Fluhall komandoa Redis datu-basea garbitzeko erabiltzen da.
  • Kontuz erabili behar da ekoizpen-ingurunean.
  • Redis-ek flushall komandoa exekutatzen duenean, iraunkortasun automatikoa abiarazten du eta RDB fitxategiak garbitzen ditu.

3. Maisu-esklaboaren sinkronizazio abiarazlea

Redis maisu-esklabuen errepliketan, nodo esklaboak erreplikazio-eragiketa osoa egiten duenean, nodo nagusiak bgsave komandoa exekutatuko du RDB fitxategia nodo esklabora bidaltzeko. Prozesu honek automatikoki abiarazten du Redis iraunkortasuna.

Redis-ek uneko konfigurazio-parametroak kontsulta ditzake komandoen bidez.

Kontsulta komandoaren formatua hau da:config get xxx

Adibidez, RDB fitxategi baten biltegiratze-izenaren ezarpena lortu nahi baduzu, erabil dezakezu config get dbfilename .

Exekuzioaren eragina honako hau da:

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

Redis zerbitzariak RDB fitxategia kargatzean blokeatu egingo denez karga amaitu arte, denbora luzea sor dezake eta webgunera ezin da sartu.

Redis-en RDB cache fitxategia dump.rdb eskuz ezabatu nahi baduzu, hurrengo komandoa erabil dezakezu dump.rdb fitxategiaren biltegiratze bidea aurkitzeko▼

find / -name dump.rdb
  • Ondoren, ezabatu eskuz dump.rdb cache fitxategia SSH bidez.

Redis-ek RDB-ren konfigurazioa ezartzen du

RDB-ren konfigurazioari dagokionez, bi modu hauek erabil ditzakezu:

  1. Aldatu Redis konfigurazio fitxategia eskuz
  2. Erabili komando-lerroko ezarpenak, konfig set dir "/usr/data" RDB fitxategia aldatzeko biltegiratze komandoa da

Oharra: redis.conf-en konfigurazioa config get xxx bidez lor daiteke eta config set xxx balioaren bidez alda daiteke, eta Redis konfigurazio fitxategia eskuz aldatzeko metodoa eraginkorra da orokorrean, hau da, Redis zerbitzaria berrabiaraziz ezarritako parametroak ez dira izango. galduko da, baina komandoa erabiliz aldatuta, Redis berrabiarazi ondoren galduko da.

Hala ere, Redis konfigurazio fitxategia eskuz aldatu nahi baduzu berehala eragina izan dezan, Redis zerbitzaria berrabiarazi behar duzu, eta komando-metodoak ez du Redis zerbitzaria berrabiarazi behar.

RDB fitxategia berreskuratzea

Redis zerbitzaria abiarazten denean, RDB dump.rdb fitxategia Redis erroko direktorioan badago, Redis-ek automatikoki kargatuko du RDB fitxategia datu iraunkorrak leheneratzeko.

Erroko direktorioan dump.rdb fitxategirik ez badago, mesedez, eraman dump.rdb fitxategia Redis-en erroko direktoriora.

Noski, Redis abiarazten denean erregistro-informazioa dago, RDB fitxategia kargatzen den ala ez erakutsiko duena.

Redis zerbitzariak blokeatzen du RDB fitxategia kargatzen ari den bitartean kargatu arte.

Orain badakigu RDB iraunkortasuna bi modutan banatzen dela: eskuzko abiarazpena eta abiarazte automatikoa:

  1. Bere abantaila da biltegiratze fitxategia txikia dela eta datuak berreskuratzea azkarragoa dela Redis abiarazten denean.
  2. Alde txarra da datuak galtzeko arriskua dagoela.

RDB fitxategiak berreskuratzea ere oso erraza da. RDB fitxategiak Redis-en erro-direktorioan jarri besterik ez dago, eta Redis-ek automatikoki kargatu eta berreskuratuko ditu datuak abiaraztean.

RDB abantailak eta txarrak

1) RDB abantailak

RDB edukia datu bitarrak da, memoria gutxiago hartzen du, trinkoagoa da eta egokiagoa da babeskopia fitxategi gisa;

RDB oso erabilgarria da hondamendiak berreskuratzeko, urruneko zerbitzari batera azkarrago transferi daitekeen fitxategi konprimitua da Redis zerbitzua berreskuratzeko;

RDB-k Redis-en abiadura asko hobetu dezake, Redis prozesu nagusiak haur-prozesu bat bideratuko duelako datuak diskoan gordetzeko.

Redis prozesu nagusiak ez ditu diskoko I/O bezalako eragiketak egiten;

AOF formatuko fitxategiekin alderatuta, RDB fitxategiak azkarrago berrabiarazi egiten dira.

2) RDBren desabantailak

RDB-k datuak denbora-tarte jakin batean soilik gorde ditzakeenez, Redis zerbitzua erdialdean ustekabean amaitzen bada, Redis-en datuak denbora-tarte batean galduko dira;

RDBk maiz sardexkak behar dituen prozesu bat diskoan gordetzeko azpisarrera erabiliz.

Datu-multzoa handia bada, sardexka denbora luzea izan daiteke eta datu-multzoa handia bada, PUZaren errendimendua eskasa da, eta horrek Redis-ek milisegundo batzuetan edo segundo batean ezin izan dezake bezeroak zerbitzatu.

Jakina, iraunkortasuna ere desgaitu dezakegu Redis-en exekuzioaren eraginkortasuna hobetzeko.

Datuak galtzearen aurrean sentikorra ez bazara, hau egin dezakezu bezeroa konektatzen denean config set save "" Redis-en iraunkortasuna desgaitzeko komandoa.

redis.conf, sartzen badasaveKonfigurazio guztiak komentatu hasieran, eta iraunkortasuna ere desgaitu egingo da, baina normalean ez da egiten.

Hope Chen Weiliang bloga ( https://www.chenweiliang.com/ ) partekatu du "Zein da Redis RDB-ren izen osoa? Redis RDB Memorian Datu Iraunkortasun Eragiketa Modua", lagunduko dizu.

Ongi etorri artikulu honen esteka partekatzera:https://www.chenweiliang.com/cwl-26677.html

Ongi etorri Chen Weiliang-en blogeko Telegram kanalera azken eguneraketak jasotzeko!

🔔 Izan zaitez kanalaren goiko direktorioan "ChatGPT Content Marketing AI Tool Erabilera Gida" baliotsua lortzen lehena! 🌟
📚 Gida honek balio handia du, 🌟Aukera arraroa da hau, ez galdu! ⏰⌛💨
Partekatu eta gustatzen bazaizu!
Zure partekatzea eta gustukoak dira gure etengabeko motibazioa!

 

发表 评论

Zure helbide elektronikoa ez da argitaratuko. 必填 项 已 用 * 标注

joan goian