Redis est une base de données non relationnelle principalement basée sur le stockage en mémoire, ce qui permet à Redis de bien fonctionner dans des scénarios avec une concurrence élevée et des exigences élevées en matière de vitesse de lecture et d'écriture. Cependant, étant donné que Redis stocke les données en mémoire, après une panne ou un redémarrage du serveur, les données précédemment stockées dans la mémoire seront effacées et les données ne seront pas conservées, ce qui peut entraîner de graves problèmes de perte de données. Afin de résoudre ce problème, Redis propose un mécanisme de persistance, utilisant principalement deux stratégies : RDB et AOF. Cet article présentera en détail les mécanismes de persistance RDB et AOF de Redis, ainsi que leurs différences.
Le mécanisme de persistance RDB consiste à stocker les données dans la mémoire actuelle de Redis dans un fichier disque. Ce fichier disque peut être un instantané (instantané) ou plusieurs instantanés stockés régulièrement par Redis. Le fichier est enregistré. sur le disque afin que le fichier d'instantané puisse être utilisé pour restaurer les données dans la mémoire du serveur après le redémarrage du serveur Redis.
Lorsque la persistance RDB est sélectionnée, Redis écrira les données à l'heure actuelle sur le disque sous la forme d'un instantané. Ce processus est compressé, Redis peut écrire plusieurs instantanés et l'intervalle entre chaque instantané peut être défini via le fichier de configuration Redis.conf.
Dans Redis.conf, nous pouvons trouver les informations de configuration suivantes :
# 快照持久化相关配置设置 save 900 1 ## 900秒(15分钟)之内至少发生1次数据变更,持久化快照 save 300 10 ## 300秒(5分钟)之内至少发生10次数据变更,持久化快照 save 60 10000 ## 60秒之内至少发生10000次数据变更,持久化快照
La configuration ci-dessus indique que toutes les 15 minutes dans Redis, ou lorsqu'il y a 10 ou 10 000 opérations d'ajout et de suppression de données dans Redis, Redis enregistrera automatiquement les données dans mémoire sur disque.
La méthode d'instantané RDB peut efficacement éviter la perte de données après un temps d'arrêt de Redis et peut également être utilisée pour la sauvegarde de données et à d'autres fins. Cependant, si Redis plante ou redémarre et que les données du dernier fichier d'instantané n'existent pas ou sont incomplètes, les données seront perdues, il est donc recommandé de ne pas définir la durée de l'instantané trop longue.
Avantages de RDB :
Inconvénients de RDB :
La persistance AOF (Append Only File) consiste à stocker la commande d'écriture sous la forme d'ajout du fichier d'écriture. Au redémarrage du service, Redis effectuera la récupération des données selon les commandes stockées dans ce fichier. La méthode de persistance AOF peut garantir le stockage permanent des données même si Redis est en panne ou redémarré, les données peuvent être récupérées.
Le format de fichier AOF est un fichier journal de données qui est ajouté au fichier pour chaque opération d'écriture. Chaque ligne d'enregistrement du fichier journal stocke une commande Redis, qui est une transaction Redis complète. Cette transaction sera ajoutée à la fin du fichier journal AOF.
En mode de persistance AOF, Redis écrira chaque nouvelle commande dans le fichier du disque sous forme d'écriture d'ajout, de sorte que la taille du fichier AOF augmente constamment. Lorsque le fichier AOF dépasse la limite de taille prédéfinie, Redis déclenchera automatiquement la réécriture du fichier AOF. Ce processus nettoiera les données expirées dans la base de données et les convertira en un instantané pour le stockage. Le but de la réécriture du fichier AOF est de compresser la taille du fichier AOF, afin d'éviter de réduire les performances de Redis en raison de fichiers AOF trop volumineux.
Avantages de la méthode de persistance AOF :
Inconvénients de la méthode de persistance AOF :
Le mécanisme de persistance de Redis est conçu pour éviter la perte de données lorsque Redis tombe en panne ou redémarre. La persistance RDB et la persistance AOF sont deux stratégies proposées par Redis. Leur principale différence réside dans la manière d'enregistrer les données et la capacité du fichier de stockage. Lorsque nous utilisons Redis pour le traitement des données, nous pouvons choisir différentes méthodes de persistance en fonction de nos besoins réels, afin que Redis puisse mieux fonctionner en matière de stockage et de récupération de données.
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!