Persistența Redis este disponibilă în două tipuri: RDB și AOF, iar configurația implicită este RDB
RDB înregistrează operațiunile pe o perioadă de timp, iar configurația unui disc persistă după mai mult de o perioadă de funcționare. AOF permite persistența fiecărei operațiuni.
Modul de persistență a instantanelor instantanee
Snapshot-urile sunt metoda implicită de a persista. Această metodă este de a scrie datele în memorie ca snapshot într-un binar, iar numele implicit al fișierului este dump.rdb. Poți configura automat metoda de persistență a snapshotului. Putem configura redis să ia automat snapshot-uri dacă mai mult de m taste sunt modificate în n secunde, următoarea este configurația implicită de salvare a snapshot-ului
salvarea 900 1 #900秒内如果超过1个key被修改, salvarea instantanee este inițiată Salvare 300 10 #300秒内容如超过10个key被修改, salvarea instantanee este inițiată salvează 60 10000
Modul de persistență AOF
Pentru a configura metoda, deschideți fișierul de configurare Redis. Găsește AppendOnly. Implicit este appendonly nr. Da, am schimbat la doar apendice. Opțiuni:
1、appendfsync no
Când appendfsync este setat pe no, Redis nu va chema activ fsync pentru a sincroniza conținutul jurnalului AOF pe disc, deci totul depinde în totalitate de depanarea sistemului de operare. Pentru majoritatea sistemelor de operare Linux, fsync se face la fiecare 30 de secunde pentru a scrie date din buffer pe disc.
2、appendfsync everysec
Când appendfsync este setat pe everysec, Redis va face implicit un apel fsync la fiecare secundă pentru a scrie datele din buffer pe disc. Totuși, când apelul fsync durează mai mult de 1 secundă. Redis va lua politica de amânare a fsync-ului și va mai aștepta o secundă. Adică, fsync se efectuează după două secunde, iar de data aceasta fsync va fi efectuat indiferent cât timp va fi executat. În acest moment, operația curentă de scriere va fi blocată deoarece descriptorul fișierului va fi blocat în timpul fsync.
Deci, concluzia este: în majoritatea cazurilor, Redis va face fsync la fiecare secundă. În cel mai rău caz, o operație fsync va avea loc la fiecare două secunde.
Această operație se numește group commit în majoritatea sistemelor de baze de date, fiind combinația datelor din mai multe operații de scriere și scrierea log-ului pe disc simultan.
3、appednfsync mereu
Când appendfsync este setat pe always, fsync este apelat o dată pentru fiecare operație de scriere, când datele sunt cele mai sigure și, desigur, performanța sa este afectată pentru că fsync se efectuează de fiecare dată
Appendfsync everysec este recomandat (implicit)
Modul snapshot poate fi activat în același timp cu modul AOF, nu se afectează reciproc
Redis dezactivează persistența
Persistența datelor este o caracteristică care diferențiază Redis de alte cache-uri și are avantaje evidente. Dar dacă nu vreau ca Redis să păstreze datele acum, vreau doar să le folosesc ca cache, la fel ca cache-ul memcache. Am căutat pe Internet și totul a introdus cum să activezi persistența Redis, iar conținutul era foarte puțin despre cum să dezactivezi persistența.
Modifică fișierul de configurare Comentează toate informațiile de configurare salvate din fișierul de configurare după cum urmează:
Sau modifică fișierul de configurare astfel:
După finalizarea modificării, reporniți serviciul Reddis.
Execută comanda de acțiune Sintaxă:
După executarea comenzii, aceasta își face efectul fără a reporni serviciul.
|