Maison > Article > base de données > Que signifie la persistance AOF ?
La persistance AOF signifie enregistrer chaque commande d'écriture dans un journal indépendant et réexécuter la commande dans le fichier AOF lorsque Redis redémarre pour atteindre l'objectif de récupération de données. Le rôle principal d'AOF est de résoudre le problème de. persistance des données en temps réel.
Redis est une base de données en mémoire qui stocke les données en mémoire, et son efficacité de lecture et d'écriture est beaucoup plus rapide que les bases de données traditionnelles qui stockent les données sur disque. Mais une fois le processus terminé, les données Redis seront perdues.
Afin de résoudre ce problème, Redis propose deux solutions de persistance, RDB et AOF, pour sauvegarder les données en mémoire sur le disque afin d'éviter toute perte de données. L'introduction de RDB se trouve dans cet article « Explication détaillée de la persistance de Redis RDB ». Aujourd'hui, nous allons examiner les principes liés à AOF.
La persistance AOF (ajouter uniquement un fichier) enregistre chaque commande d'écriture dans un journal indépendant et réexécute les commandes dans le fichier AOF lorsque Redis redémarre pour récupérer les données. La fonction principale d’AOF est de résoudre le problème en temps réel de la persistance des données.
RDB et AOF
antirez a décrit les avantages et inconvénients respectifs de RDB et AOF dans l'article "Redis Persistence Decryption" :
RDB est un fichier binaire compact et compressé qui représente la sauvegarde des données Redis à un moment donné. Très approprié pour la sauvegarde, la copie complète et d'autres scénarios. Par exemple, effectuez une sauvegarde bgsave toutes les 6 heures et copiez le fichier RDB sur la machine distante ou le système de fichiers pour une reprise après sinistre.
Redis charge RDB et restaure les données beaucoup plus rapidement que la méthode AOF
Les données de la méthode RDB ne peuvent pas être conservées en temps réel, et la méthode AOF peut être fait.
Quelles sont les étapes de la persistance AOF ?
1. Étapes d'ajout de commande
Tout d'abord, le serveur place la commande d'opération d'écriture dans la base de données dans le tampon AOF et utilise une fonction périodique pour vérifier si le contenu du tampon doit être écrit dans le tampon. Fichier AOF (Il existe généralement trois stratégies : toujours, chaque seconde, non). Ces trois stratégies constituent un équilibre entre sécurité et efficacité.
2. Restauration des données
Restaurez les données en créant un pseudo client sans connexion réseau et en exécutant les commandes dans AOF en séquence.
3. Réécriture AOF
Étant donné qu'AOF enregistre les commandes d'opération d'écriture, cela entraînera une redondance des fichiers. Tant que l'état actuel de la base de données est relu, AOF peut être rationalisé.
Le processus spécifique est le suivant :
Créez d'abord un processus enfant (pourquoi ne pas utiliser des threads ? Parce que les threads provoqueront des verrous, ce qui entraînera une faible efficacité. Et l'utilisation de processus enfants ne bloquera pas le processus parent)
Ensuite le processus parent crée un tampon de réécriture AOF utilisé pour enregistrer les commandes d'écriture exécutées pendant la réécriture AOF.
Une commande d'écriture sera envoyée à la fois au tampon AOF et au tampon de réécriture AOF.
Ensuite, lorsque la réécriture est terminée, le processus enfant envoie un signal au processus parent. Le processus parent ajoutera le contenu du tampon de réécriture AOF au nouveau fichier AOF et remplacera atomiquement le fichier AOF d'origine.
Tutoriel recommandé : "Tutoriel Redis"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!