Direttorju tal-Artikoli
L-isem sħiħ ta 'RDB huwaRedis database
.
- Kif jissuġġerixxi l-isem, RDB hija database Redis użata biex taħżen id-dejta.
- Għalhekk, permezz tal-persistenza RDB, id-dejta maħżuna fil-memorja Redis tinkiteb fil-fajl RDB u tissejvja fuq id-diska biex tinkiseb il-persistenza.
- Il-karatteristika ta 'Redis hija li tista' tippersisti data, jiġifieri, tikteb data fil-memorja fuq disk biex tiżgura li l-ebda data ma tintilef, u tista 'wkoll tagħbija data minn disk fil-memorja.
L-operazzjonijiet ta 'Redis fil-bidu huma kollha bbażati fuq il-memorja, għalhekk il-prestazzjoni hija għolja ħafna, iżda ladarba l-programm jingħalaq, id-dejta tintilef.
Għalhekk, għandna bżonn niktbu data fil-memorja fuq disk f'intervalli speċifikati, li hija Snapshot fil-lingwaġġ.
Meta jiġi restawrat, il-fajl snapshot jinkiteb direttament fil-memorja.
Din hija wkoll waħda mid-differenzi ewlenin bejn Redis u Memcached, minħabba li Memcached m'għandu l-ebda kapaċità ta 'persistenza.
Għall-persistenza tad-dejta tal-memorja Redis, Redis tagħtina l-metodi li ġejjin:
- Metodu ta 'snapshot (RDB, Redis DataBase): ikteb id-dejta tal-memorja fuq disk f'forma binarja f'ċertu mument;
- Append Only File (AOF, Append Only File), irreġistra l-kmandi kollha tal-operat, u waħħal mal-fajl f'forma ta 'test;
- Persistenza ibrida, metodu ġdid wara Redis 4.0, persistenza ibrida tgħaqqad il-vantaġġi ta 'RDB u AOF.Meta tikteb, l-ewwel ikteb id-dejta kurrenti fil-bidu tal-fajl fil-forma ta 'RDB, u mbagħad issalva l-kmandi ta' operazzjoni sussegwenti fil-fajl fil-forma ta 'AOF, li mhux biss tista' tiżgura l-veloċità tar-restart tar-Redis, iżda wkoll tnaqqas ir-riskju ta' telf ta' data.
Minħabba li kull skema ta 'persistenza għandha xenarji ta' użu speċifiċi.
Modalità ta 'operazzjoni tal-persistenza tad-data tal-memorja Redis RDB
- RDB (Redis DataBase) huwa l-proċess tal-kitba ta 'snapshot tal-memorja (Snapshot) f'ċertu mument fuq disk f'forma binarja.
- Snapshots tal-memorja huma dak li għidna hawn fuq.Jirreferi għar-rekord tal-istat tad-data fil-memorja f'ċertu mument.
- Dan huwa simili għat-teħid ta 'ritratt. Meta tieħu ritratt ta' ħabib, ritratt jista 'istantanjament jirreġistra l-immaġini kollha tal-ħabib.
- Hemm żewġ modi biex tiskatta RDB: wieħed huwa triggering manwali, u l-ieħor huwa triggering awtomatiku.
Ixpruna l-RDB manwalment
Hemm żewġ operazzjonijiet biex tiskatta l-persistenza manwalment:save
和bgsave
.
Id-differenza ewlenija bejniethom hija jekk timblokkax jew le l-eżekuzzjoni tal-ħajt prinċipali Redis.
1. ħlief kmand
L-eżekuzzjoni tal-kmand tas-salvataġġ fuq in-naħa tal-klijent se tiskatta l-persistenza ta 'Redis, iżda se tagħmel ukoll Redis fi stat ta' imblukkar. Mhux se jirrispondi għall-kmandi mibgħuta minn klijenti oħra sakemm l-RDB jibqa 'persisti, għalhekk għandu jintuża b'kawtela f' l-ambjent tal-produzzjoni.
127.0.0.1:6379> save OK 127.0.0.1:6379>
Il-proċess ta 'eżekuzzjoni tal-kmand huwa muri fil-figura
2. kmand bgsave
- bgsave (issejvjar fl-isfond) huwa salvataġġ fl-isfond.
- L-akbar differenza bejnha u l-kmand tas-salvataġġ hija li bgsave se jfork proċess tifel biex iwettaq il-persistenza.
- Il-proċess kollu jiġri biss meta l-proċess tat-tfal huwa furketta.Hemm biss imblukkar qasir.
- Wara li jinħoloq il-proċess tat-tfal, il-proċess ewlieni ta 'Redis jista' jirrispondi għal talbiet minn klijenti oħra.
bl-imblukkar tal-proċess kollusave
meta mqabbla mal-kmandbgsave
Il-kmand huwa ovvjament aktar adattat għalina biex nużaw.
127.0.0.1:6379> bgsave Background Saving started # 提示开始后台保存 127.0.0.1:6379>
Awtomatikament trigger RDB
Wara li tkellem dwar triggering manwali, ejja nħarsu lejn triggering awtomatiku.Nistgħu kkonfiguraw il-kundizzjonijiet għall-attivazzjoni awtomatika fil-fajl tal-konfigurazzjoni.
1. ħlief mn
- ħlief mn ifisser li fi żmien m sekondi, jekk n ċwievet jinbidlu, il-persistenza tiġi attivata awtomatikament.Il-parametri mu n jistgħu jinstabu fil-fajl tal-konfigurazzjoni Redis.
- Pereżempju, ħlief 60 1 ifisser li fi żmien 60 sekonda, sakemm tinbidel wieħed ewlieni, il-persistenza RDB se tiġi attivata.
- L-essenza li tiskatta awtomatikament il-persistenza hija li jekk il-kundizzjonijiet tal-grillu stabbiliti jiġu sodisfatti, Redis awtomatikament tesegwixxi l-kmand bgsave darba.
Nota: Meta jiġu ssettjati kmandi multipli ta' salvataġġ mn, kwalunkwe kundizzjoni waħda tixpruna l-persistenza.
Pereżempju, aħna nissettjaw iż-żewġ kmandi li ġejjin save mn:
save 60 10 save 600 20
- Meta l-valur taċ-ċavetta Redis jinbidel 60 darbiet fi żmien 10s, il-persistenza tiġi attivata;
- Jekk iċ-ċavetta Redis tinbidel fi żmien 60s, u jekk il-valur jinbidel inqas minn 10 darbiet, allura Redis tiddetermina jekk iċ-ċavetta Redis ġietx modifikata mill-inqas 600 darba fi żmien 20s, u jekk iva, iqanqal il-persistenza.
2. Flushall
- Il-kmand flushall jintuża biex titlaħla d-database Redis.
- Għandu jintuża b'kawtela f'ambjent ta 'produzzjoni.
- Meta Redis tesegwixxi l-kmand tal-flushall, tixpruna persistenza awtomatika u tikklerja l-fajl RDB.
3. Grillu tas-sinkronizzazzjoni Master-slave
Fir-replikazzjoni master-slave Redis, meta n-node slave iwettaq operazzjoni ta 'replikazzjoni sħiħa, in-node master jesegwixxi l-kmand bgsave biex jibgħat il-fajl RDB lin-node slave Dan il-proċess awtomatikament iqajjem il-persistenza Redis.
Redis jista 'jistaqsi l-parametri tal-konfigurazzjoni attwali permezz ta' kmandi.
Il-format tal-kmand tal-mistoqsija huwa:config get xxx
Pereżempju, jekk trid tikseb l-issettjar tal-isem tal-ħażna għal fajl RDB, tista 'tuża config get dbfilename
.
L-effett tal-eżekuzzjoni huwa kif ġej:
127.0.0.1:6379> config get dbfilename 1) "dbfilename" 2) "dump.rdb"
Peress li s-server Redis se jimblokka meta jgħabbi l-fajl RDB sakemm it-tagħbija tkun kompluta, jista 'jikkawża żmien twil u l-websajt ma tistax tiġi aċċessata.
Jekk trid tħassar manwalment il-fajl RDB cache dump.rdb ta 'Redis, tista' tuża l-kmand li ġej biex issib il-mogħdija tal-ħażna tal-fajl dump.rdb▼
find / -name dump.rdb
- Imbagħad, ħassar manwalment il-fajl cache dump.rdb permezz ta 'SSH.
Redis jistabbilixxi l-konfigurazzjoni ta' RDB
Rigward l-issettjar tal-konfigurazzjoni ta 'RDB, tista' tuża ż-żewġ modi li ġejjin:
- Immodifika manwalment il-fajl tal-konfigurazzjoni Redis
- Uża s-settings tal-linja tal-kmand, konfig set dir "/usr/data" huwa l-kmand tal-ħażna biex timmodifika l-fajl RDB
Nota: Il-konfigurazzjoni f'redis.conf tista 'tinkiseb permezz ta' config get xxx u modifikata permezz ta 'config set xxx value, u l-metodu ta' modifika manwalment tal-fajl ta 'konfigurazzjoni Redis huwa globalment effettiv, jiġifieri, il-parametri stabbiliti billi jerġa' jibda s-server Redis mhux se jintilef, iżda modifikati bl-użu tal-kmand , se jintilef wara li Redis jerġa 'jibda.
Madankollu, jekk trid timmodifika manwalment il-fajl tal-konfigurazzjoni Redis biex jidħol fis-seħħ immedjatament, għandek bżonn terġa 'tibda s-server Redis, u l-metodu tal-kmand ma jeħtieġx li terġa' tibda s-server Redis.
Irkupru tal-fajl RDB
Meta jibda s-server Redis, jekk il-fajl RDB dump.rdb jeżisti fid-direttorju tal-għeruq Redis, Redis awtomatikament jgħabbi l-fajl RDB biex jirrestawra d-dejta persistenti.
Jekk m'hemm l-ebda fajl dump.rdb fid-direttorju tal-għeruq, jekk jogħġbok mexxi l-fajl dump.rdb fid-direttorju tal-għeruq ta 'Redis l-ewwel.
Naturalment, hemm informazzjoni tal-log meta Redis jibda, li turi jekk il-fajl RDB huwiex mgħobbi.
Is-server Redis jimblokka waqt it-tagħbija tal-fajl RDB sakemm it-tagħbija titlesta.
Issa nafu li l-persistenza RDB hija maqsuma f'żewġ modi: triggering manwali u triggering awtomatiku:
- Il-vantaġġ tiegħu huwa li l-fajl tal-ħażna huwa żgħir u l-irkupru tad-data huwa aktar mgħaġġel meta Redis jinbeda.
- L-iżvantaġġ huwa li hemm riskju ta 'telf ta' data.
L-irkupru ta 'fajls RDB huwa wkoll sempliċi ħafna. Poġġi biss il-fajls RDB fid-direttorju tal-għeruq ta' Redis, u Redis awtomatikament jgħabbi u jirrestawra d-data meta tibda.
Il-vantaġġi u l-iżvantaġġi RDB
1) Vantaġġi RDB
Il-kontenut RDB huwa data binarja, jokkupa inqas memorja, huwa aktar kompatt, u huwa aktar adattat bħala fajl backup;
RDB huwa utli ħafna għall-irkupru tad-diżastri, huwa fajl kompressat li jista 'jiġi trasferit għal server remot aktar malajr għall-irkupru tas-servizz Redis;
RDB jista 'jtejjeb bil-kbir il-veloċità ta' Redis, minħabba li l-proċess ewlieni ta 'Redis ser fork proċess tat-tfal biex jippersisti data fuq disk.
Il-proċess ewlieni Redis ma jwettaqx operazzjonijiet bħal disk I/O;
Meta mqabbel mal-fajls tal-format AOF, il-fajls RDB jerġgħu jibdew aktar malajr.
2) Żvantaġġi ta 'RDB
Minħabba li RDB jista 'biss jiffranka d-dejta f'ċertu intervall ta' ħin, jekk is-servizz Redis jintemm aċċidentalment fin-nofs, id-dejta Redis tintilef għal perjodu ta 'żmien;
Proċess li fih RDB jeħtieġ frieket frekwenti biex iżżommha fuq disk bl-użu ta 'subentry.
Jekk is-sett tad-dejta huwa kbir, il-furketta tista 'tieħu ħafna ħin, u jekk is-sett tad-dejta huwa kbir, il-prestazzjoni tas-CPU hija fqira, li tista' tikkawża li Redis ma jkunx jista 'jservi lill-klijenti għal ftit millisekondi jew saħansitra sekonda.
Naturalment, nistgħu wkoll tiddiżattiva l-persistenza biex intejbu l-effiċjenza tal-eżekuzzjoni ta 'Redis.
Jekk m'intix sensittiv għat-telf tad-data, tista 'tagħmel dan meta l-klijent jgħaqqad config set save ""
Kmand biex tiddiżattiva l-persistenza għal Redis.
在redis.conf
, jekk fisave
Ikkummenta l-konfigurazzjonijiet kollha fil-bidu, u l-persistenza tkun ukoll diżattivata, iżda dan ġeneralment ma jsirx.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "X'inhu l-isem sħiħ ta' Redis RDB? Redis RDB In-Memory Data Persistence Operation Mode, li huwa utli għalik.
Merħba biex taqsam il-link ta' dan l-artikolu:https://www.chenweiliang.com/cwl-26677.html
Merħba fil-kanal Telegram tal-blog ta' Chen Weiliang biex tikseb l-aħħar aġġornamenti!
📚 Din il-gwida fiha valur kbir, 🌟Din hija opportunità rari, titlifhiex! ⏰⌛💨
Share u like jekk togħġobkom!
Il-qsim u l-likes tiegħek huma l-motivazzjoni kontinwa tagħna!