Artikulo Direktoryo
Ang tibuok ngalan sa RDB kayRedis database.
- Sama sa gisugyot sa ngalan, ang RDB gigamit sa pagtipig sa datos.Redisdatabase.
- Busa, pinaagi sa pagpadayon sa RDB, ang datos nga gitipigan sa memorya sa Redis gisulat sa RDB file ug gitipigan sa disk aron makab-ot ang pagpadayon.
- Ang bahin sa Redis mao nga kini makapadayon sa datos, nga mao, pagsulat sa datos sa memorya ngadto sa disk aron masiguro nga walay data nga nawala, ug mahimo usab nga mag-load sa datos gikan sa disk ngadto sa memorya.

Ang mga operasyon sa Redis sa sinugdanan tanan gibase sa panumduman, mao nga ang performance taas kaayo, apan sa higayon nga ang programa sirado, ang data nawala.
Busa, kinahanglan natong isulat ang in-memory data ngadto sa disk sa espesipikong mga agwat, nga mao ang Snapshot sa jargon.
Kung gipahiuli, ang snapshot file gisulat direkta sa memorya.
Kini usab usa sa mga nag-unang kalainan tali sa Redis ug Memcached , tungod kay ang Memcached walay mga kapabilidad sa persistence.
Alang sa pagpadayon sa datos sa memorya sa Redis, gihatagan kami ni Redis sa mga musunud nga pamaagi:
- Pamaagi sa snapshot (RDB, Redis DataBase): isulat ang data sa memorya sa disk sa binary nga porma sa usa ka gutlo;
- Append Only File (AOF, Append Only File), irekord ang tanang operation commands, ug idugang ang file sa text form;
- Ang Hybrid nga pagpadayon, usa ka bag-ong pamaagi pagkahuman sa Redis 4.0, ang hybrid nga pagpadayon naghiusa sa mga bentaha sa RDB ug AOF.Sa pagsulat, una isulat ang kasamtangan nga datos sa sinugdanan sa file sa porma sa RDB, ug dayon i-save ang sunod nga mga operasyon nga mga sugo sa file sa porma sa AOF, nga dili lamang makasiguro sa katulin sa Redis restart, apan usab pagpakunhod ang risgo sa pagkawala sa datos.
Tungod kay ang matag laraw sa pagpadayon adunay piho nga mga senaryo sa paggamit.
Redis RDB memory data persistence operation mode
- Ang RDB (Redis DataBase) mao ang proseso sa pagsulat sa usa ka memory snapshot (Snapshot) sa usa ka gutlo ngadto sa disk sa binary nga porma.
- Ang mga snapshot sa memorya mao ang among gisulti sa ibabaw.Kini nagtumong sa rekord sa estado sa datos sa panumduman sa usa ka gutlo.
- Sama kini sa pagkuha og litrato. Kung magkuha ka og litrato sa usa ka higala, ang usa ka litrato makarekord dayon sa tanang mga hulagway sa higala.
- Adunay duha ka paagi sa pag-trigger sa RDB: ang usa mao ang manual triggering, ug ang usa mao ang automatic triggering.
Manwal nga mag-trigger sa RDB
Adunay duha ka mga operasyon aron mano-mano nga mag-trigger sa pagpadayon:saveugbgsave.
Ang nag-unang kalainan tali kanila mao ang pag-block o dili sa pagpatuman sa Redis main thread.
1. save nga sugo
Ang pagpatuman sa save command sa kilid sa kliyente magpahinabo sa pagpadayon sa Redis, apan maghimo usab kini sa Redis sa usa ka blocking nga estado. Kini dili motubag sa mga sugo nga gipadala sa ubang mga kliyente hangtud nga ang RDB magpadayon, busa kini kinahanglan nga gamiton uban ang pag-amping sa ang palibot sa produksiyon.
127.0.0.1:6379> save OK 127.0.0.1:6379>
Ang proseso sa pagpatuman sa mando gipakita sa numero
2. bgsave nga sugo
- bgsave (background save) kay usa ka background save.
- Ang pinakadako nga kalainan tali niini ug sa save command mao nga ang bgsave mag-fork sa proseso sa bata aron mahimo ang pagpadayon.
- Ang tibuuk nga proseso mahitabo lamang kung ang proseso sa bata usa ka tinidor.Adunay usa ka mubo nga pagbabag.
- Human mabuhat ang proseso sa bata, ang panguna nga proseso sa Redis makatubag sa mga hangyo gikan sa ubang mga kliyente.
uban ang pagbabag sa tibuok prosesosaveitandi sa sugobgsaveAng sugo klaro nga mas angay alang kanato nga gamiton.
127.0.0.1:6379> bgsave Background Saving started # 提示开始后台保存 127.0.0.1:6379>
Awtomatikong i-trigger ang RDB
Human maghisgot bahin sa manual triggering, atong tan-awon ang automatic triggering.Mahimo natong i-configure ang mga kondisyon alang sa awtomatik nga pag-trigger sa configuration file.
1. makaluwas mn
- Ang save mn nagpasabot nga sulod sa m segundos, kung ang n yawe mausab, ang pagpadayon awtomatikong ma-trigger.Ang mga parameter m ug n makita sa Redis configuration file.
- Pananglitan, i-save ang 60 1 nagpasabut nga sa sulod sa 60 segundos, basta usa ka yawe nga pagbag-o, ang pagpadayon sa RDB ma-trigger.
- Ang diwa sa awtomatik nga pag-aghat sa pagpadayon mao nga kung ang gitakda nga mga kondisyon sa pag-trigger matuman, ang Redis awtomatik nga ipatuman ang bgsave nga sugo sa makausa.
Mubo nga sulat: Kung ang daghang save mn nga mga sugo gitakda, ang bisan unsang kondisyon magpahinabog pagpadayon.
Pananglitan, among gibutang ang mosunod nga duha ka save mn nga mga sugo:
save 60 10 save 600 20
- Kung ang Redis key value mausab 60 ka beses sulod sa 10s, ang pagpadayon ma-trigger;
- Kung ang yawe sa Redis mausab sulod sa 60s, ug kung ang bili mausab ubos pa sa 10 ka beses, ang Redis magtino kon ang Redis nga yawe nausab sa labing menos 600 ka beses sulod sa 20s, ug kon mao, magpahinabog pagpadayon.
2. Flushall
- Ang flushall command gigamit sa pag-flush sa Redis database.
- Kinahanglan nga gamiton kini nga mabinantayon sa usa ka palibot sa produksiyon.
- Kung gipatuman ni Redis ang flushall command, kini nagpalihok sa awtomatikong pagpadayon ug gilimpyohan ang mga file sa RDB.
3. Ang pag-synchronize sa master-slave trigger
Sa Redis master-slave replication, kung ang slave node mohimo sa usa ka hingpit nga replication operation, ang master node mopatuman sa bgsave command aron ipadala ang RDB file ngadto sa slave node. Kini nga proseso awtomatik nga mag-trigger sa Redis nga pagpadayon.
Mahimong mangutana ang Redis sa karon nga mga parameter sa pagsumpo pinaagi sa mga mando.
Ang format sa query command mao ang:config get xxx
Pananglitan, kung gusto nimo makuha ang setting sa ngalan sa pagtipig sa usa ka RDB file, mahimo nimong gamiton config get dbfilename .
Ang epekto sa pagpatuman mao ang mosunod:
127.0.0.1:6379> config get dbfilename 1) "dbfilename" 2) "dump.rdb"
Tungod kay ang Redis server mag-block kung mag-load sa RDB file hangtod makompleto ang pagkarga, mahimo’g hinungdan kini nga dugay ug dili ma-access ang website.
Kung gusto nimo nga mano-mano nga papason ang RDB cache file dump.rdb sa Redis, mahimo nimong gamiton ang mosunod nga sugo aron makit-an ang agianan sa pagtipig sa dump.rdb file▼
find / -name dump.rdb
- Dayon, kamut nga papason ang dump.rdb cache file pinaagi sa SSH.
Gitakda ni Redis ang configuration sa RDB
Mahitungod sa pag-set sa configuration sa RDB, mahimo nimong gamiton ang mosunod nga duha ka paagi:
- Manwal nga usba ang Redis configuration file
- Gamita ang command line settings, config set dir "/usr/data" mao ang storage command aron mabag-o ang RDB file
Mubo nga sulat: Ang configuration sa redis.conf mahimong makuha pinaagi sa config get xxx ug giusab pinaagi sa config set xxx value, ug ang pamaagi sa mano-mano nga pag-usab sa Redis configuration file kay epektibo sa tibuok kalibutan, nga mao, ang mga parameter nga gitakda pinaagi sa pag-restart sa Redis server dili. mawala, apan giusab gamit ang command , kini mawala human sa Redis restarts.
Bisan pa, kung gusto nimo nga mano-mano nga usbon ang Redis configuration file aron epektibo dayon, kinahanglan nimo nga i-restart ang Redis server, ug ang command method wala magkinahanglan nga i-restart ang Redis server.
Pagbawi sa RDB file
Sa diha nga ang Redis server magsugod, kon ang RDB file dump.rdb anaa sa Redis gamut direktoryo, Redis awtomatikong load sa RDB file sa pagpasig-uli sa padayon nga data.
Kung walay dump.rdb file sa root directory, palihog ibalhin ang dump.rdb file ngadto sa root directory sa Redis.
Siyempre, adunay impormasyon sa log kung magsugod ang Redis, nga magpakita kung ang RDB file gikarga.
Ang Redis server nag-block samtang nag-load sa RDB file hangtod makompleto ang loading.
Karon nahibal-an na namon nga ang pagpadayon sa RDB gibahin sa duha ka paagi: manual triggering ug automatic triggering:
- Ang bentaha niini mao nga ang storage file gamay ug ang pagbawi sa data mas paspas kung gisugdan ang Redis.
- Ang downside mao nga adunay usa ka risgo sa data pagkawala.
Ang pagbawi sa mga file sa RDB yano ra kaayo. Ibutang lang ang mga file sa RDB sa direktoryo sa ugat sa Redis, ug ang Redis awtomatik nga magkarga ug mag-uli sa datos kung kini magsugod.
RDB pro ug kontra
1) RDB bentaha
Ang sulod sa RDB mao ang binary data, nag-okupar og gamay nga memorya, mas compact, ug mas angay isip backup file;
Ang RDB mapuslanon kaayo alang sa pagkaayo sa katalagman, kini usa ka compressed file nga mahimong ibalhin sa usa ka hilit nga server nga mas paspas alang sa pagbawi sa serbisyo sa Redis;
Ang RDB makapauswag pag-ayo sa katulin sa Redis, tungod kay ang panguna nga proseso sa Redis mag-fork sa proseso sa bata aron magpadayon ang data sa disk.
Ang panguna nga proseso sa Redis wala maghimo mga operasyon sama sa disk I / O;
Kung itandi sa mga file nga format sa AOF, ang mga file sa RDB mas paspas nga magsugod pag-usab.
2) Mga disbentaha sa RDB
Tungod kay ang RDB mahimo ra nga makatipig sa datos sa usa ka piho nga agwat sa oras, kung ang serbisyo sa Redis aksidente nga natapos sa tunga, ang datos sa Redis mawala sa usa ka yugto sa panahon;
Usa ka proseso diin ang RDB nanginahanglan kanunay nga mga tinidor aron mapadayon kini sa disk gamit ang subentry.
Kung ang dataset dako, ang tinidor mahimong makagugol sa panahon, ug kung ang dataset dako, ang performance sa CPU dili maayo, nga mahimong hinungdan nga ang Redis dili makaalagad sa mga kliyente sulod sa pipila ka millisecond o bisan usa ka segundo.
Siyempre, mahimo usab namon nga ma-disable ang pagpadayon aron mapaayo ang kahusayan sa pagpatuman sa Redis.
Kung dili ka sensitibo sa pagkawala sa datos, mahimo nimo kini kung magkonektar ang kliyente config set save "" Sugo sa pag-disable sa pagpadayon alang sa Redis.
在redis.conf, kon sasaveIkomento ang tanan nga mga pag-configure sa sinugdanan, ug ang pagpadayon ma-disable usab, apan sa kasagaran wala kini nahimo.
Hinaut nga ang artikulong "Unsa ang tibuok nga ngalan sa Redis RDB? Redis RDB in-memory data persistence operation method" nga gipaambit sa blog ni Chen Weiliang ( https://www.chenweiliang.com/ ) makatabang kanimo.
Ayaw pagpanuko sa pagpaambit niini nga link sa artikulo: https://www.chenweiliang.com/cwl-26677.html
