Persistenza RDB
Sebbene Redis sia noto come un data store in-memory, la persistenza consente di salvare i dati su disco per proteggerli dalla perdita in caso di crash del server. Verranno analizzati i principali metodi di persistenza in Redis, le loro configurazioni e le applicazioni pratiche.
Persistenza RDB
RDB (Redis Database) crea un snapshot completo dei dati di Redis in determinati momenti. Questo metodo è adatto a scenari in cui la velocità è fondamentale e una perdita occasionale di dati è accettabile.
Come illustrato nel diagramma, Redis crea periodicamente snapshot dei dati e li salva su disco. Questo aiuta a ridurre al minimo la perdita di dati e semplifica il ripristino dello stato del database durante un riavvio.
La frequenza della creazione degli snapshot può essere configurata nel file redis.conf.
Per visualizzare e modificare il file redis.conf su macOS:
cat /opt/homebrew/etc/redis.conf
Per visualizzare il file redis.conf su Windows, è possibile aprire la directory in cui è installato Redis e accedere al file redis.windows.conf.
Dopo aver aperto il file, verranno visualizzate le impostazioni di snapshot predefinite come:
save 900 1 # save if at least 1 write operation occurred in the last 15 minutes.
save 300 10 # save if at least 10 write operations occurred in the last 5 minutes.
save 60 10000 # save if at least 10,000 write operations occurred in the last 1 minute.
Nell'esempio sopra, Redis salverà i dati in base ai seguenti criteri:
- Ogni 900 secondi (15 minuti) se è stata modificata almeno una chiave;
- Ogni 300 secondi (5 minuti) se sono state modificate almeno 10 chiavi;
- Ogni 60 secondi se sono state modificate almeno 10.000 chiavi.
La frequenza con cui si salva i dati su disco determina il livello di durabilità. Ad esempio, se i dati vengono salvati ogni 5 minuti e si verifica un guasto pochi minuti dopo l'ultimo salvataggio, le modifiche ai dati effettuate in quel periodo andranno perse. Pertanto, è fondamentale scegliere con attenzione l'intervallo di salvataggio.
Come funziona
Redis salva lo stato del database in un file .rdb agli intervalli specificati. Quando il server viene riavviato, i dati vengono ripristinati dall'ultimo file salvato.
Vantaggi e svantaggi
RDB ha un impatto minimo sulle prestazioni e utilizza un formato di archiviazione compatto. Tuttavia, esiste il rischio di perdere i dati aggiunti tra un intervallo di snapshot e l'altro.
Creazione manuale di snapshot
Gli utenti possono anche avviare manualmente uno snapshot RDB utilizzando il comando SAVE. Questo comando blocca il server Redis, quindi è da evitare. È preferibile utilizzare il comando BGSAVE, che crea un processo figlio per eseguire lo snapshot in background.
1. Cosa fa il metodo RDB in Redis?
2. Qual è un vantaggio del metodo RDB?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
What are the main differences between RDB and other Redis persistence methods?
How do I configure the snapshot intervals for RDB in redis.conf?
Can you explain when to use the SAVE vs BGSAVE commands?
Awesome!
Completion rate improved to 3.33
Persistenza RDB
Scorri per mostrare il menu
Sebbene Redis sia noto come un data store in-memory, la persistenza consente di salvare i dati su disco per proteggerli dalla perdita in caso di crash del server. Verranno analizzati i principali metodi di persistenza in Redis, le loro configurazioni e le applicazioni pratiche.
Persistenza RDB
RDB (Redis Database) crea un snapshot completo dei dati di Redis in determinati momenti. Questo metodo è adatto a scenari in cui la velocità è fondamentale e una perdita occasionale di dati è accettabile.
Come illustrato nel diagramma, Redis crea periodicamente snapshot dei dati e li salva su disco. Questo aiuta a ridurre al minimo la perdita di dati e semplifica il ripristino dello stato del database durante un riavvio.
La frequenza della creazione degli snapshot può essere configurata nel file redis.conf.
Per visualizzare e modificare il file redis.conf su macOS:
cat /opt/homebrew/etc/redis.conf
Per visualizzare il file redis.conf su Windows, è possibile aprire la directory in cui è installato Redis e accedere al file redis.windows.conf.
Dopo aver aperto il file, verranno visualizzate le impostazioni di snapshot predefinite come:
save 900 1 # save if at least 1 write operation occurred in the last 15 minutes.
save 300 10 # save if at least 10 write operations occurred in the last 5 minutes.
save 60 10000 # save if at least 10,000 write operations occurred in the last 1 minute.
Nell'esempio sopra, Redis salverà i dati in base ai seguenti criteri:
- Ogni 900 secondi (15 minuti) se è stata modificata almeno una chiave;
- Ogni 300 secondi (5 minuti) se sono state modificate almeno 10 chiavi;
- Ogni 60 secondi se sono state modificate almeno 10.000 chiavi.
La frequenza con cui si salva i dati su disco determina il livello di durabilità. Ad esempio, se i dati vengono salvati ogni 5 minuti e si verifica un guasto pochi minuti dopo l'ultimo salvataggio, le modifiche ai dati effettuate in quel periodo andranno perse. Pertanto, è fondamentale scegliere con attenzione l'intervallo di salvataggio.
Come funziona
Redis salva lo stato del database in un file .rdb agli intervalli specificati. Quando il server viene riavviato, i dati vengono ripristinati dall'ultimo file salvato.
Vantaggi e svantaggi
RDB ha un impatto minimo sulle prestazioni e utilizza un formato di archiviazione compatto. Tuttavia, esiste il rischio di perdere i dati aggiunti tra un intervallo di snapshot e l'altro.
Creazione manuale di snapshot
Gli utenti possono anche avviare manualmente uno snapshot RDB utilizzando il comando SAVE. Questo comando blocca il server Redis, quindi è da evitare. È preferibile utilizzare il comando BGSAVE, che crea un processo figlio per eseguire lo snapshot in background.
1. Cosa fa il metodo RDB in Redis?
2. Qual è un vantaggio del metodo RDB?
Grazie per i tuoi commenti!