Maison >base de données >Redis >Quelle est la différence entre les deux méthodes de persistance de redis

Quelle est la différence entre les deux méthodes de persistance de redis

青灯夜游
青灯夜游original
2019-06-06 15:04:565103parcourir

Redis propose deux méthodes de persistance, l'une est la persistance RDB (le principe est de vider régulièrement les enregistrements de la base de données Reids en mémoire vers la persistance RDB sur le disque), et l'autre est la persistance AOF (ajouter uniquement un fichier) (le principe est d'écrire journal des opérations de Reids au fichier en annexe).

Quelle est la différence entre les deux méthodes de persistance de redis

La persistance RDB fait référence à l'écriture d'un instantané de l'ensemble de données en mémoire sur le disque dans un intervalle de temps spécifié. Le processus opérationnel réel consiste à créer un processus enfant et à le sauvegarder d'abord. l'ensemble de données. Écrivez un fichier temporaire. Une fois l'écriture réussie, remplacez le fichier précédent et stockez-le avec une compression binaire. (Apprentissage recommandé : Tutoriel vidéo Redis)

La persistance AOF enregistre chaque opération d'écriture et de suppression traitée par le serveur sous la forme d'un journal. Les opérations de requête ne seront pas enregistrées, mais seront enregistrées. sous forme de texte, vous pouvez ouvrir le fichier pour voir les enregistrements détaillés des opérations.

La différence entre la persistance RDB et la persistance AOF :

1. Stocker les données

La persistance RDB enregistre toutes les paires clé-valeur dans l'espace clé ( Y compris les données des dictionnaires expirés), et sont enregistrés sous forme binaire, conformément aux spécifications du fichier RDB, et seront traités différemment selon les différents types de données.

AOF enregistre de manière persistante toutes les commandes d'écriture exécutées par le serveur Redis pour enregistrer l'état de la base de données. Les commandes sont stockées dans le tampon aof_buf avant l'écriture.

2. Sélection du temps de persistance

La persistance RDB définit le comportement de persistance (nombre de modifications par unité de temps) via l'option de sauvegarde de conf.

La persistance AOF définit le comportement de persistance (nombre de modifications par unité de temps) via l'option appendfsync de conf.

3. Restauration des données

Persistance RDB : le serveur charge le fichier rdb, bloque le thread et n'accepte aucune commande tant que le chargement n'est pas terminé.

Persistance AOF : Le serveur crée un pseudo client sans connexion réseau, lit toutes les commandes dans le fichier aof et l'exécute (le service redis sélectionnera le fichier aof pour restaurer l'état de la base de données lorsque le service redis s'allumera aof persistance)

4. Clés expirées

La persistance RDB ignorera les clés expirées lors de l'écriture ou de la lecture

La persistance AOF n'ignorera pas les clés expirées lorsque les clés sont supprimées paresseusement ou ajoutera un commande delete au fichier aof lors d'une suppression régulière

5. Taille du fichier

La persistance RDB change avec la quantité de données stockées (il existe différentes optimisations de compression de données selon différents types de données)

La persistance AOF augmente avec le nombre de commandes exécutées (optimisée grâce à la réécriture)

Pour plus de connaissances techniques liées à Redis, veuillez visiter le Tutoriel d'utilisation de RedisApprentissage des colonnes !

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