Persistance RDB
Bien que Redis soit reconnu comme un magasin de données en mémoire, la persistance permet de sauvegarder les données sur le disque afin de les protéger contre toute perte en cas de panne du serveur. Nous examinerons les principales méthodes de persistance dans Redis, leurs configurations et leurs applications pratiques.
Persistance RDB
RDB (Redis Database) crée une capture instantanée complète des données Redis à des moments précis. Cette méthode convient aux scénarios où la rapidité est essentielle et où une perte de données occasionnelle est acceptable.
Comme illustré dans le schéma, Redis crée périodiquement des captures instantanées des données et les enregistre sur le disque. Cela permet de minimiser la perte de données et de simplifier la restauration de l’état de la base de données lors d’un redémarrage.
La fréquence de création des instantanés peut être configurée dans le fichier redis.conf.
Pour consulter et modifier le fichier redis.conf sur macOS :
cat /opt/homebrew/etc/redis.conf
Pour consulter le fichier redis.conf sur Windows, ouvrir le répertoire où Redis est installé et accéder au fichier redis.windows.conf.
Après avoir ouvert le fichier, vous verrez les paramètres de snapshot par défaut tels que :
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.
Dans l'exemple ci-dessus, Redis enregistrera les données selon les critères suivants :
- Toutes les 900 secondes (15 minutes) si au moins une clé a été modifiée ;
- Toutes les 300 secondes (5 minutes) si au moins 10 clés ont été modifiées ;
- Toutes les 60 secondes si au moins 10 000 clés ont été modifiées.
La fréquence de sauvegarde des données sur le disque détermine le niveau de durabilité. Par exemple, si les données sont sauvegardées toutes les 5 minutes et qu'une panne survient quelques minutes après la dernière sauvegarde, les modifications apportées aux données pendant cette période seront perdues. Il est donc essentiel de choisir soigneusement l'intervalle de sauvegarde.
Fonctionnement
Redis enregistre l'état de la base de données dans un fichier .rdb aux intervalles spécifiés. Lorsque le serveur est redémarré, les données sont restaurées à partir du dernier fichier sauvegardé.
Avantages et inconvénients
RDB a un impact minimal sur les performances et utilise un format de stockage compact. Cependant, il existe un risque de perte des données ajoutées entre les intervalles de snapshot.
Création manuelle de snapshot
Les utilisateurs peuvent également déclencher un snapshot RDB à l'aide de la commande SAVE. Cette commande bloque le serveur Redis, il convient donc de l'éviter. À la place, il est recommandé d'utiliser la commande BGSAVE, qui crée un processus enfant pour effectuer le snapshot en arrière-plan.
1. Que fait la méthode RDB dans Redis ?
2. Quel est un avantage de la méthode RDB ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.33
Persistance RDB
Glissez pour afficher le menu
Bien que Redis soit reconnu comme un magasin de données en mémoire, la persistance permet de sauvegarder les données sur le disque afin de les protéger contre toute perte en cas de panne du serveur. Nous examinerons les principales méthodes de persistance dans Redis, leurs configurations et leurs applications pratiques.
Persistance RDB
RDB (Redis Database) crée une capture instantanée complète des données Redis à des moments précis. Cette méthode convient aux scénarios où la rapidité est essentielle et où une perte de données occasionnelle est acceptable.
Comme illustré dans le schéma, Redis crée périodiquement des captures instantanées des données et les enregistre sur le disque. Cela permet de minimiser la perte de données et de simplifier la restauration de l’état de la base de données lors d’un redémarrage.
La fréquence de création des instantanés peut être configurée dans le fichier redis.conf.
Pour consulter et modifier le fichier redis.conf sur macOS :
cat /opt/homebrew/etc/redis.conf
Pour consulter le fichier redis.conf sur Windows, ouvrir le répertoire où Redis est installé et accéder au fichier redis.windows.conf.
Après avoir ouvert le fichier, vous verrez les paramètres de snapshot par défaut tels que :
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.
Dans l'exemple ci-dessus, Redis enregistrera les données selon les critères suivants :
- Toutes les 900 secondes (15 minutes) si au moins une clé a été modifiée ;
- Toutes les 300 secondes (5 minutes) si au moins 10 clés ont été modifiées ;
- Toutes les 60 secondes si au moins 10 000 clés ont été modifiées.
La fréquence de sauvegarde des données sur le disque détermine le niveau de durabilité. Par exemple, si les données sont sauvegardées toutes les 5 minutes et qu'une panne survient quelques minutes après la dernière sauvegarde, les modifications apportées aux données pendant cette période seront perdues. Il est donc essentiel de choisir soigneusement l'intervalle de sauvegarde.
Fonctionnement
Redis enregistre l'état de la base de données dans un fichier .rdb aux intervalles spécifiés. Lorsque le serveur est redémarré, les données sont restaurées à partir du dernier fichier sauvegardé.
Avantages et inconvénients
RDB a un impact minimal sur les performances et utilise un format de stockage compact. Cependant, il existe un risque de perte des données ajoutées entre les intervalles de snapshot.
Création manuelle de snapshot
Les utilisateurs peuvent également déclencher un snapshot RDB à l'aide de la commande SAVE. Cette commande bloque le serveur Redis, il convient donc de l'éviter. À la place, il est recommandé d'utiliser la commande BGSAVE, qui crée un processus enfant pour effectuer le snapshot en arrière-plan.
1. Que fait la méthode RDB dans Redis ?
2. Quel est un avantage de la méthode RDB ?
Merci pour vos commentaires !