Maison  >  Article  >  base de données  >  Comment Redis assure la persistance des données

Comment Redis assure la persistance des données

(*-*)浩
(*-*)浩original
2019-11-27 09:31:311998parcourir

Redis propose deux méthodes de persistance des données, à savoir RDB (Redis DataBase) et AOF (Apend Only File).

Comment Redis assure la persistance des données

Méthode RDB

La méthode RDB est une méthode de persistance d'instantané qui stocke les données à un moment donné persistées sur le disque. (Apprentissage recommandé : Tutoriel vidéo Redis)

Pendant le processus de persistance des données, redis écrira d'abord les données dans un fichier temporaire. Une fois le processus de persistance terminé, ce fichier temporaire sera. utilisé pour remplacer le dernier fichier persistant. C'est cette fonctionnalité qui nous permet d'effectuer des sauvegardes à tout moment, car le fichier instantané est toujours entièrement disponible.

Pour le mode RDB, redis créera (fork) un sous-processus séparément pour la persistance, et le processus principal n'effectuera aucune opération d'E/S, garantissant ainsi les performances extrêmement élevées de redis.

Si une récupération de données à grande échelle est requise et que l'intégrité de la récupération des données n'est pas très sensible, la méthode RDB est plus efficace que la méthode AOF.

Méthode AOF

La méthode AOF enregistre les instructions d'écriture exécutées, puis exécute les instructions dans l'ordre d'avant en arrière pendant la récupération des données.

La commande AOF utilise le protocole redis pour ajouter et enregistrer chaque opération d'écriture à la fin du fichier. Redis peut également réécrire les fichiers AOF en arrière-plan afin que la taille des fichiers AOF ne devienne pas trop grande.

La stratégie de persistance AOF par défaut consiste à fsync une fois par seconde (fsync fait référence à l'enregistrement des instructions d'écriture dans le cache sur le disque), car dans ce cas, Redis peut toujours maintenir de bonnes performances de traitement, même si Redis échoue , seules les données de la dernière seconde seront perdues.

Si lors de l'ajout de journaux, l'espace disque est plein, l'inode est plein ou l'alimentation est coupée, ce qui entraîne une écriture incomplète du journal, cela n'a pas d'importance. Redis fournit l'outil redis-check-aof. , qui peut être utilisé Effectuer une réparation de journaux.

En raison de la méthode append, si aucun traitement n'est effectué, le fichier AOF deviendra de plus en plus gros. Pour cette raison, redis fournit un mécanisme de réécriture (réécriture) de fichier AOF, c'est-à-dire lorsque la taille du fichier. Fichier AOF Lorsque le seuil défini est dépassé, redis démarre la compression du contenu du fichier AOF, en ne conservant que le jeu d'instructions minimum permettant de récupérer les données.

Un exemple peut être plus frappant. Si nous appelons l'instruction INCR 100 fois, 100 instructions seront stockées dans le fichier AOF, mais c'est évidemment très inefficace. Ces 100 instructions peuvent être fusionnées dans une instruction SET. , c'est le principe du mécanisme de réécriture.

Lors de la réécriture d'AOF, le processus d'écriture d'abord des fichiers temporaires, puis de leur remplacement est toujours utilisé, de sorte que des problèmes tels que des pannes de courant et des disques pleins n'affecteront pas la disponibilité des fichiers AOF.

Pour plus d'articles techniques liés à Redis, veuillez visiter la colonne Tutoriel de démarrage de Redis pour apprendre !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn