Articulu Directory
U nome cumpletu di RDB hèRedis database
.
- Cum'è u nome suggerisce, RDB hè una basa di dati Redis utilizata per almacenà e dati.
- Dunque, per via di a persistenza RDB, i dati guardati in a memoria Redis sò scritti in u schedariu RDB è salvati à u discu per ottene a persistenza.
- A funzione di Redis hè chì pò persiste dati, vale à dì, scrive dati in memoria à u discu per assicurà chì nisuna data hè persa, è pò ancu carricà dati da u discu in memoria.
L'operazioni di Redis à u principiu sò tutte basate nantu à a memoria, cusì u rendiment hè assai altu, ma una volta chì u prugramma hè chjusu, i dati sò persi.
Dunque, avemu bisognu di scrive dati in memoria à u discu à intervalli specificati, chì hè Snapshot in jargon.
Quandu si restaurà, u schedariu snapshot hè scrittu direttamente in memoria.
Questa hè ancu una di e differenzi principali trà Redis è Memcached, perchè Memcached ùn hà micca capacità di persistenza.
Per a persistenza di i dati di memoria Redis, Redis ci furnisce i seguenti metudi:
- Metudu Snapshot (RDB, Redis DataBase): scrivite dati di memoria à u discu in forma binaria in un certu mumentu;
- Append Only File (AOF, Append Only File), arregistrà tutti i cumandamenti di l'operazione, è aghjunghje à u schedariu in forma di testu;
- A persistenza hibrida, un novu metudu dopu à Redis 4.0, a persistenza hibrida combina i vantaghji di RDB è AOF.Quandu scrivite, scrivite prima i dati attuali à l'iniziu di u schedariu in a forma di RDB, è poi salvate i cumandamenti di l'operazione sussegwente à u schedariu in a forma di AOF, chì ùn pò micca solu assicurà a velocità di Redis restart, ma ancu riduce. u risicu di perdita di dati.
Perchè ogni schema di persistenza hà scenarii d'usu specifichi.
Modu operativu di persistenza di dati di memoria Redis RDB
- RDB (Redis DataBase) hè u prucessu di scrive una snapshot di memoria (Snapshot) in un certu momentu à u discu in forma binaria.
- I snapshots di memoria sò ciò chì avemu dettu sopra.Si riferisce à u record statale di dati in memoria in un certu momentu.
- Questu hè simile à piglià una foto. Quandu pigliate una foto di un amicu, una foto pò registrà istantaneamente tutte l'imaghjini di l'amicu.
- Ci hè dui modi per attivà RDB: unu hè l'attivazione manuale, è l'altru hè l'attivazione automatica.
Attiva manualmente u RDB
Ci sò duie operazioni per attivà manualmente a persistenza:save
和bgsave
.
A principal diferenza trà elli hè di bluccà o micca l'esekzione di u filu principale Redis.
1. salvà cumanda
Eseguisce u cumandamentu di salvezza in u latu di u cliente attivarà a persistenza di Redis, ma farà ancu Redis in un statu di bloccu. Ùn risponde micca à i cumandamenti mandati da altri clienti finu à chì u RDB hè persistutu, per quessa, deve esse usatu cun prudenza in l'ambiente di pruduzzione.
127.0.0.1:6379> save OK 127.0.0.1:6379>
U prucessu di eseguisce u cumandamentu hè mostratu in a figura
2. cumanda bgsave
- bgsave (salvamentu di fondo) hè un salvamentu di fondo.
- A più grande diffarenza trà questu è u cumandamentu di salvezza hè chì bgsave forcherà un prucessu di u zitellu per fà persistenza.
- U prucessu tutale hè solu quandu u prucessu di u zitellu hè furchetta.Solu bluccatu brevemente.
- Dopu chì u prucessu di u zitellu hè creatu, u prucessu principale di Redis pò risponde à e dumande da altri clienti.
cù bluccà tuttu u prucessusave
paragunatu à u cumandamentubgsave
U cumandamentu hè ovviamente più adattatu per noi à aduprà.
127.0.0.1:6379> bgsave Background Saving started # 提示开始后台保存 127.0.0.1:6379>
Attiva automaticamente RDB
Dopu avè parlatu di attivazione manuale, fighjemu l'attivazione automatica.Pudemu cunfigurà e cundizioni per l'attivazione automatica in u schedariu di cunfigurazione.
1. salvà mn
- salvate mn significa chì in m seconde, se n chjavi cambianu, a persistenza hè attivata automaticamente.I paràmetri m è n ponu esse truvati in u schedariu di cunfigurazione Redis.
- Per esempiu, salvà 60 1 significa chì in 60 seconde, sempre chì una chjave cambia, a persistenza RDB serà attivata.
- L'essenza di l'attivazione automatica di a persistenza hè chì, se e cundizioni di attivazione stabilite sò soddisfatte, Redis eseguirà automaticamente u cumandamentu bgsave una volta.
Nota: Quandu parechji cumandamenti salvate mn sò stabiliti, ogni cundizione attivarà a persistenza.
Per esempiu, avemu stabilitu i seguenti dui cumandamenti di salvezza mn:
save 60 10 save 600 20
- Quandu u valore chjave Redis cambia 60 volte in 10s, a persistenza serà attivata;
- Se a chjave Redis cambia in 60s, è se u valore cambia menu di 10 volte, Redis determinarà se a chjave Redis hè stata mudificata almenu 600 volte in 20s, è se cusì, attivarà a persistenza.
2. Flushall
- U cumandamentu flushall hè utilizatu per lavà a basa di dati Redis.
- Si deve esse usatu cun prudenza in un ambiente di pruduzzione.
- Quandu Redis eseguisce u cumandamentu flushall, attiva a persistenza automatica è sguassate u schedariu RDB.
3. trigger di sincronizazione Master-slave
In a replicazione master-slave Redis, quandu u node slave realiza una operazione di replicazione completa, u node maestru eseguirà u cumandimu bgsave per mandà u schedariu RDB à u node slave. Stu prucessu attiva automaticamente a persistenza Redis.
Redis pò dumandà i paràmetri di cunfigurazione attuale per mezu di cumandamenti.
U furmatu di u cumandimu di dumanda hè:config get xxx
Per esempiu, sè vo vulete ottene u paràmetru di u nome di almacenamiento per un schedariu RDB, pudete aduprà config get dbfilename
.
L'effettu di l'esekzione hè u seguente:
127.0.0.1:6379> config get dbfilename 1) "dbfilename" 2) "dump.rdb"
Siccomu u servitore Redis bluccarà quandu carica u schedariu RDB finu à chì a carica hè cumpleta, pò causà assai tempu è ùn pò micca accede à u situ web.
Se vulete sguassà manualmente u schedariu cache RDB dump.rdb di Redis, pudete aduprà u cumandimu seguitu per truvà u percorsu di almacenamiento di u schedariu dump.rdb▼
find / -name dump.rdb
- Allora, sguassate manualmente u schedariu cache dump.rdb via SSH.
Redis stabilisce a cunfigurazione di RDB
In quantu à stabilisce a cunfigurazione di RDB, pudete aduprà i seguenti dui modi:
- Mudificà manualmente u schedariu di cunfigurazione Redis
- Aduprate i paràmetri di a linea di cumanda, config set dir "/usr/data" hè u cumandamentu di almacenamiento per mudificà u schedariu RDB
Nota: A cunfigurazione in redis.conf pò esse ottenuta per mezu di config get xxx è mudificatu cù u valore di config set xxx, è u metudu di mudificà manualmente u schedariu di cunfigurazione Redis hè efficace in u mondu, vale à dì, i paràmetri stabiliti riavviendu u servitore Redis ùn saranu micca. esse persu, ma mudificatu usendu u cumandamentu , serà persu dopu à Redis riavvia.
In ogni casu, sè vo vulete mudificà manualmente u schedariu di cunfigurazione Redis per piglià effettu immediatamente, avete bisognu di riavvia u servitore Redis, è u metudu di cumanda ùn deve micca riavvia u servitore Redis.
Recuperazione di u schedariu RDB
Quandu u servitore Redis principia, se u schedariu RDB dump.rdb esiste in u repertoriu radicali Redis, Redis carica automaticamente u schedariu RDB per restaurà dati persistenti.
Se ùn ci hè micca un schedariu dump.rdb in u repertoriu radicali, per piacè move u schedariu dump.rdb à u cartulare radicale di Redis.
Di sicuru, ci hè infurmazione di logu quandu Redis principia, chì mostrarà se u schedariu RDB hè caricatu.
U servitore Redis blocca mentre carica u schedariu RDB finu à chì a carica hè cumpleta.
Avà sapemu chì a persistenza RDB hè divisa in duie manere: attivazione manuale è attivazione automatica:
- U so vantaghju hè chì u schedariu di almacenamiento hè chjucu è a ricuperazione di dati hè più veloce quandu Redis hè iniziatu.
- U latu hè chì ci hè un risicu di perdita di dati.
A ricuperazione di i fugliali RDB hè ancu assai simplice. Basta mette i schedari RDB in u cartulare radicale di Redis, è Redis caricarà automaticamente è restaurà e dati quandu principia.
RDB pro è contro
1) Vantaghji RDB
U cuntenutu RDB hè dati binari, occupa menu memoria, hè più compactu è hè più adattatu cum'è un schedariu di salvezza;
RDB hè assai utile per a ricuperazione di disastru, hè un schedariu cumpressu chì pò esse trasferitu à un servitore remoto più veloce per a ricuperazione di u serviziu Redis;
RDB pò migliurà assai a vitezza di Redis, perchè u prucessu principale di Redis furcherà un prucessu di u zitellu per persiste i dati à u discu.
U prucessu principale Redis ùn eseguisce micca operazioni cum'è discu I / O;
In cunfrontu cù i schedarii di furmatu AOF, i schedarii RDB riavvianu più veloce.
2) Disvantages di RDB
Perchè RDB pò salvà dati solu per un certu intervallu di tempu, se u serviziu Redis hè accidentalmente terminatu in u mità, i dati Redis seranu persu per un periudu di tempu;
Un prucessu in quale RDB richiede forche frequenti per guardà nantu à u discu utilizendu subentrata.
Se u dataset hè grande, a furchetta pò esse di tempu, è se u dataset hè grande, u rendiment di u CPU hè poviru, chì pò fà chì Redis ùn sia micca capaci di serve à i clienti per uni pochi millisecondi o ancu un secondu.
Di sicuru, pudemu ancu disattivà a persistenza per migliurà l'efficienza di esecuzione di Redis.
Se ùn site micca sensibile à a perdita di dati, pudete fà questu quandu u cliente cunnetta config set save ""
Cumanda per disattivà a persistenza per Redis.
inredis.conf
, se insave
Cummentate tutte e cunfigurazioni à u principiu, è a persistenza serà ancu disattivata, ma questu hè generalmente micca fattu.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) hà spartutu "Quale hè u nome cumpletu di Redis RDB? Redis RDB In-Memory Data Persistence Operation Mode, chì hè utile per voi.
Benvenuti à sparte u ligame di stu articulu:https://www.chenweiliang.com/cwl-26677.html
Benvenuti à u canali Telegram di u blog di Chen Weiliang per avè l'ultime aghjurnamenti!
📚 Questa guida cuntene un valore enormu, 🌟Questa hè una rara opportunità, ùn mancate micca! ⏰⌛💨
Condividi è mi piace se ti piace!
A vostra spartera è Mi piace sò a nostra motivazione cuntinua!