Come usare le istantanee con Redis

Come usare le istantanee con Redis
In Redis, un'istantanea si riferisce al processo e al metodo per garantire la persistenza dei dati dalla memoria del sistema in una posizione permanente come il disco del sistema.

Sebbene Redis sia un archivio dati in memoria, fornisce vari metodi per archiviare e recuperare i dati da e verso il disco del sistema.

Questo articolo discuterà di come utilizzare la persistenza nel database Redis. È bene notare che non ci immergeremo in profondità nel modo in cui vengono implementati i metodi di backup forniti da Redis. Considera la documentazione per saperne di più e scopri quale è meglio per il tuo caso d'uso.

introduzione

Redis fornisce vari metodi per implementare la persistenza nei suoi negozi di dati. I due principali metodi includono:

  1. RDB
  2. Aof

Impariamo come possiamo usare ciascuno dei metodi sopra.

Cos'è RDB?

Il file del database RDB o Redis è una struttura di dati che consente di prendere le istantanee dei dati Redis. Redis prenderà regolarmente istantanee dei set di dati e li salverà in un file utilizzando RDB come metodo di persistenza.

Ci sono vari vantaggi e svantaggi dell'uso di RDB per la persistenza. Questi includono:

Vantaggi di RDB.

  1. L'uso di RDB è compatto e quindi consente di memorizzare più dati. È quindi un'ottima scelta quando è necessario archiviare i set di dati.
  2. È facile eseguire misure di recupero utilizzando un file RDB.
  3. Rispetto ad altri metodi come AOF, RDB è più veloce quando si carica set di dati di grandi dimensioni.

Svantaggi di RDB

  1. Questo metodo non è molto adatto per i backup di emergenza.
  2. Tende a utilizzare più risorse di sistema, come la CPU.

Cos'è AOF?

Aof of Append Only File è un metodo di persistenza che scrive un registro delle azioni ricevute dal cluster Redis. Questo file di registro può quindi essere utilizzato all'avvio del server Redis e ricreare l'intero set di dati.

Simile a RDB, ci sono vari vantaggi e svantaggi dell'uso di tali metodi.

Vantaggi di AOF

  1. È molto più adatto per RDB in caso di backup di emergenza. AOF continuerà a eseguire backup di registro in background quando diventa troppo grande.
  2. Poiché il metodo AOF aggiunge solo le operazioni appena eseguite, ci sono minime possibilità di corruzione dei dati.
  3. Un file AOF è facile da capire ed esporta in quanto registra le operazioni eseguite sul server in sequenza.

Svantaggi di AOF

  1. A differenza dei file RDB, i backup AOF sono di dimensioni più grandi dato lo stesso set di dati.
  2. A seconda della politica FSYNC, il backup AOF può essere più lento rispetto a RDB.

Come funzionano le istantanee?

Prendere un'istantanea in Redis esporterà tutti i dati nella memoria in un file binario. In genere, il file snapshot è sotto il dump del nome.RDB. Il file RDB contiene tutti i set di dati nella memoria, comprese le configurazioni e la struttura. Questo rende molto facile ripristinare i dati utilizzando il file RDB in caso di errore.

Sotto il cappuccio:

  1. Redis Parent Process sborserà un processo figlio per gestire le istantanee al file RDB.
  2. Il processo figlio prenderà tutti i set di dati e li scriverà a un file RBD.
  3. Se il processo RDB è configurato per l'esecuzione a un intervallo, il vecchio file RBD viene sovrascritto dal contenuto del nuovo file.

Come eseguire un'istantanea in Redis

Come ogni altra cosa in Redis, eseguire un'istantanea del tuo set di dati più attuale è molto semplice.

Usa il comando salva per creare dump.file rdb.

192.168.100.78: 6379> Salva
OK

Nota: una volta eseguito il comando Salva, tutti gli altri client verranno bloccati fino al completamento dell'attività. Quindi, non è consigliabile funzionare in produzione o su un ampio set di dati.

Un'alternativa al comando di salvataggio è BGSAVE. Eseguirà il backup in background utilizzando un processo figlio. L'uso del comando BGSAVE non blocca altri client.

192.168.100.78: 6379> bgsave
Il salvataggio di fondo avviato

Come usare AOF?

Per utilizzare il comando AOF, utilizzare il comando bgrewriteaof come:

192.168.100.78: 6379> bgrewriteaof
Appending di background solo la riscrittura del file avviata

Conclusione

Questo articolo descrive come è possibile utilizzare vari metodi di persistenza in Redis per eseguire il backup dei set di dati in caso di riavvio o fallimento.

Grazie per aver letto!