Navê tevahî Redis RDB çi ye? Moda xebata domdariya daneya bîra Redis RDB

Navê tevahî RDB eRedis database.

  • Wekî ku nav diyar dike, RDB databasek Redis e ku ji bo hilanîna daneyan tê bikar anîn.
  • Ji ber vê yekê, bi domdariya RDB, daneyên ku di bîra Redis de hatine hilanîn li pelê RDB têne nivîsandin û li dîskê têne hilanîn da ku domdariyê bi dest bixe.
  • Taybetmendiya Redis ev e ku ew dikare daneyan bidomîne, ango daneyan di bîranînê de li ser dîskê binivîsîne da ku pê ewle bibe ku tu dane winda nebin, û her weha dikare daneyan ji dîskê li bîra bar bike.

Navê tevahî Redis RDB çi ye? Moda xebata domdariya daneya bîra Redis RDB

Operasyonên Redis di destpêkê de hemî li ser bingeha bîranînê ne, ji ber vê yekê performans pir zêde ye, lê gava ku bername girtî be, dane winda dibin.

Ji ber vê yekê, em hewce ne ku di navberên diyarkirî de daneyên nav-bîrê li dîskê binivîsin, ku di jargonê de Snapshot e.

Dema ku nûvekirin, pelê wêneyê rasterast li bîranînê tê nivîsandin.

Ev di heman demê de yek ji cûdahiyên sereke ye di navbera Redis û Memcached de, ji ber ku Memcached xwedan kapasîteya domdariyê nîne.

Ji bo domandina daneyên bîranîna Redis, Redis rêbazên jêrîn ji me re peyda dike:

  • Rêbaza Snapshot (RDB, Redis DataBase): di demek diyarkirî de daneyên bîranînê li ser dîskê bi forma binary binivîse;
  • Tenê Pelê Pêve Bikin (AOF, Pelê Tenê Pêve Bikin), hemî fermanên xebatê tomar bikin, û bi forma nivîsê li pelê zêde bikin;
  • Berdewamiya hîbrîd, rêbazek nû ya piştî Redis 4.0, domdariya hybrid avantajên RDB û AOF bi hev re dike.Dema nivîsandinê, pêşî daneyên heyî di destpêka pelê de di forma RDB-ê de binivîsin, û dûv re fermanên operasyonê yên paşîn di pelê de di forma AOF-ê de hilînin, ku ne tenê dikare leza ji nû ve destpêkirina Redis piştrast bike, lê di heman demê de kêm bike. rîska windabûna daneyan.

Ji ber ku her plansaziyek domdariyê senaryoyên karanîna taybetî hene.

Moda xebata domdariya daneya bîra Redis RDB

  • RDB (Redis DataBase) pêvajoya nivîsandina wêneyek bîranînê (Snapshot) di demek diyarkirî de li ser dîskê di forma binary de ye.
  • Wêneyên bîranînê yên ku me li jor got in.Ew qeyda dewletê ya daneyên di bîranînê de di demek diyarkirî de vedibêje.
  • Ev dişibe kişandina wêneyekê.Dema ku hûn wêneyê hevalekî dikişînin, wêneyek yekser dikare hemî wêneyên hevalê xwe tomar bike.
  • Du rê hene ku meriv RDB bişkîne: yek bi destan vekêşana, û ya din jî vekêşana otomatîk e.

RDB-ê bi destan dest pê bike

Du operasyon hene ku bi destan domdariyê bidin destpêkirin:savebgsave.

Cûdahiya sereke di navbera wan de ev e ku meriv pêkanîna mijara sereke ya Redis asteng bike an na.

1. emrê xilas bike

Bicîhkirina fermana hilanînê li ser milê xerîdar dê berdewamiya Redisê bike, lê ew ê Redis jî bike rewşek astengkirinê. Ew ê bersivê nede fermanên ku ji hêla xerîdarên din ve têne şandin heya ku RDB berdewam bike, ji ber vê yekê divê ew di nav de bi hişyarî were bikar anîn. jîngeha hilberînê.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Pêvajoya pêkanîna fermanê di wêneyê de tê xuyang kirin 

2. fermana bgsave

  • bgsave (veşartina paşîn) hilanînê paşverû ye.
  • Cûdahiya herî mezin di navbera wê û fermana hilanînê de ev e ku bgsave dê pêvajoyek zarokê bike da ku domdariyê pêk bîne.
  • Tevahiya pêvajo tenê dema ku pêvajoya zarokê qulikê ye.Tenê astengiyek kurt heye.
  • Piştî ku pêvajoya zarokê hate afirandin, pêvajoya sereke ya Redis dikare bersivê bide daxwazên xerîdarên din.

bi astengkirina tevahiya pêvajoyêsaveli gorî fermanêbgsaveFerman eşkere ye ku em bikar bînin.

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

Otomatîk RDB bike

Piştî ku em li ser vekêşana destan dipeyivin, bila em li vekêşana otomatîkî binêrin.Em dikarin di pelê veavakirinê de şert û mercên ji bo vekêşana otomatîkî mîheng bikin.

1. xilas mn

  • xilas mn tê vê wateyê ku di nav m saniyeyan de, ger n bişkok biguhezin, berdewamî bixweber tê destpêkirin.Parametreyên m û n di pelê veavakirina Redis de têne dîtin.
  • Mînakî, hilanîna 60 1 tê vê wateyê ku di nav 60 çirkeyan de, heya ku yek mifteyek biguhezîne, dê berdewamiya RDB-ê were destpêkirin.
  • Esasê birêkûpêkkirina domdariyê ev e ku ger şertên destnîşankirî yên destnîşankirî pêk werin, Redis dê yek carî fermana bgsave bixweber bicîh bîne.

Nîşe: Dema ku gelek fermanên hilanînê mn têne danîn, her şertek dê domdariyê bide destpêkirin.

Mînakî, me du fermanên xilas mn yên jêrîn danîn:

save 60 10
save 600 20
  • Dema ku nirxa kilîta Redis 60 caran di nav 10-an de biguhezîne, dê berdewamî were destpêkirin;
  • Ger mifteya Redis di nav 60-an de biguhere, û heke nirx ji 10-an kêmtir biguhezîne, Redis dê diyar bike ka di nav 600-an de bi kêmanî 20 carî bişkojka Redis hatî guheztin an na, û heke wusa be, domdariyê bide destpêkirin.

2. Flushall

  • Fermana flushall ji bo paqijkirina databasa Redis tê bikar anîn.
  • Pêdivî ye ku ew di hawîrdora hilberînê de bi hişyarî were bikar anîn.
  • Dema ku Redis fermana flushall pêk tîne, ew domdariya otomatîkî dide destpêkirin û pelê RDB paqij dike.

3. Destûra hevdemkirinê ya Master-xulam

Di replikasyona master-slave ya Redis de, dema ku girêk koledar operasyonek nûvekirinê ya tevahî pêk tîne, girêka sereke dê fermana bgsave bicîh bîne da ku pelê RDB ji girêka kole re bişîne. Ev pêvajo bixweber berdewamiya Redisê dide destpêkirin.

Redis dikare bi navgîniya fermanan li parametreyên veavakirina heyî bipirse.

Forma fermana pirsê ev e:config get xxx

Mînakî, heke hûn dixwazin mîhenga navê hilanînê ya pelek RDB bistînin, hûn dikarin bikar bînin config get dbfilename .

Bandora darvekirinê wiha ye:

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

Ji ber ku servera Redis dê dema barkirina pelê RDB-ê heya ku barkirin biqede asteng bike, dibe ku ew demek dirêj bibe sedem û malper neyê gihîştin.

Heke hûn dixwazin bi destan pela cache ya RDB dump.rdb ya Redis jêbirin, hûn dikarin fermana jêrîn bikar bînin da ku riya hilanînê ya pelê dump.rdb bibînin▼

find / -name dump.rdb
  • Dûv re, bi destê SSH pelê cache dump.rdb jêbirin.

Redis veavakirina RDB-ê saz dike

Di derbarê danîna veavakirina RDB de, hûn dikarin du awayên jêrîn bikar bînin:

  1. Bi destan pelê veavakirina Redis biguherînin
  2. Mîhengên rêza fermanê bikar bînin, mîhengsazkirina dir "/usr/data" fermana hilanînê ye ku pelê RDB biguhezîne.

Nîşe: Veavakirina li redis.conf dikare bi konfigurasyona get xxx ve were wergirtin û bi nirxa mîhengê xxx ve were guheztin, û awayê guheztina bi destan pelê veavakirina Redis li seranserê cîhanê bi bandor e, ango, pîvanên ku bi ji nû ve destpêkirina servera Redis ve hatî destnîşan kirin dê nebin. winda bibe, lê bi karanîna fermanê were guheztin, piştî ku Redis ji nû ve dest pê bike dê winda bibe.

Lêbelê, heke hûn dixwazin pelê veavakirina Redis bi destan biguhezînin da ku tavilê bandor bike, hûn hewce ne ku servera Redis ji nû ve bidin destpêkirin, û rêbaza fermanê hewce nake ku servera Redis ji nû ve bide destpêkirin.

Vegerandina pelê RDB

Dema ku servera Redis dest pê dike, heke pelê RDB dump.rdb di pelrêça root ya Redis de hebe, Redis dê bixweber pelê RDB bar bike da ku daneyên domdar vegerîne.

Ger di pelrêça root de pelê dump.rdb tune be, ji kerema xwe pêşî pelê dump.rdb biguhezînin pelrêça root ya Redis.

Bê guman, dema ku Redis dest pê dike agahdariya têketinê heye, ku dê nîşan bide ka pelê RDB barkirî ye.

Pêşkêşkara Redis dema ku pelê RDB bar dike heta ku barkirin qediya asteng dike.

Naha em dizanin ku domdariya RDB bi du awayan tê dabeş kirin: vekêşana destan û vekirina otomatîk:

  1. Feydeya wê ev e ku pelê hilanînê piçûk e û dema ku Redis dest pê dike vegerandina daneyê zûtir e.
  2. Nerazîbûn ev e ku xetera windabûna daneyê heye.

Vegerandina pelên RDB jî pir hêsan e. Tenê pelên RDB têxin pelrêça root ya Redis, û dema ku dest pê dike Redis dê bixweber daneyan bar bike û vegerîne.

Pros û xirabên RDB

1) avantajên RDB

Naveroka RDB daneya binary e, ku kêm bîra digire, tevlihevtir e, û wekî pelek hilanînê guncantir e;

RDB ji bo vegerandina karesatê pir bikêr e, ew pelek pêçandî ye ku ji bo vegerandina karûbarê Redis zûtirîn veguhezîne serverek dûr;

RDB dikare leza Redisê pir çêtir bike, ji ber ku pêvajoya sereke ya Redis dê pêvajoyek zarokê bişoxilîne da ku daneya li ser dîskê bidomîne.

Pêvajoya sereke ya Redis operasyonên wekî dîska I/O pêk nayîne;

Li gorî pelên formata AOF, pelên RDB zûtir ji nû ve dest pê dikin.

2) Dezawantajên RDB

Ji ber ku RDB tenê di navberek demkî diyarkirî de dikare daneyan hilîne, ger karûbarê Redis bi xeletî di navberê de biqede, dê daneyên Redis ji bo demek wenda bibe;

Pêvajoyek ku tê de RDB ji bo ku wê bi karanîna subentry-ê li ser dîskê tomar bike pêdivî ye ku pir caran çeqilmast bike.

Ger databas mezin be, fork dikare dem-dixweze be, û heke databas mezin be, performansa CPU nebaş e, ku dibe sedem ku Redis nikaribin ji bo çend millisecond an jî saniyeyekê xizmetê ji xerîdaran re bike.

Bê guman, em dikarin domdariyê jî neçalak bikin da ku karbidestiya darvekirinê ya Redis baştir bikin.

Heke hûn ji windabûna daneyê ne hesas in, hûn dikarin vê yekê bikin dema ku xerîdar tê girêdan config set save "" Fermana neçalakkirina berdewamiya ji bo Redis.

redis.conf, heke disaveDi destpêkê de hemî veavakirinan şîrove bikin, û berdewamî jî dê bête asteng kirin, lê bi gelemperî ev nayê kirin.

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) parve kir "Navê tevahî Redis RDB çi ye? Redis RDB Di-Memory Data Operation Mode", dê ji we re bibe alîkar.

Bi xêr hatî bo parvekirina girêdana vê gotarê:https://www.chenweiliang.com/cwl-26677.html

Hûn bi xêr hatin kanala Telegramê ya bloga Chen Weiliang da ku nûvekirinên herî dawî bistînin!

🔔 Bibin yê yekem ku di pelrêça jorîn a kanalê de "Rêbernameya Bikaranîna Amûra AI-ya Kirrûbirra Naveroka ChatGPT" ya bi qîmet bistîne! 🌟
📚 Ev rêber nirxek pir mezin dihewîne, 🌟Ev derfetek kêm e, wê ji dest nede! ⏰⌛💨
Heke hûn hez dikin parve bikin û hez bikin!
Parvekirin û ecibandinên we motîvasyona meya domdar e!

 

评论

Navnîşana e-nameya we nayê weşandin. Zeviyên pêdivî têne bikar anîn * Awanasî

li jor bigerin