Maison > base de données > Redis > Comment persister Redis

Comment persister Redis

(*-*)浩
Libérer: 2019-11-26 09:59:51
original
4303 Les gens l'ont consulté

Étant donné que les données Redis sont stockées en mémoire, si la persistance n'est pas configurée, toutes les données seront perdues après le redémarrage de Redis. Par conséquent, vous devez activer la fonction de persistance de Redis et enregistrer les données sur le disque. peut récupérer des données à partir du disque.

Comment persister Redis

redis propose deux méthodes de persistance , l'une est la persistance RDB (le principe est d'enregistrer les Reids dans la base de données en mémoire Dump régulier vers Persistance RDB sur disque), l'autre est la persistance AOF (ajouter uniquement un fichier) (le principe est d'écrire le journal des opérations Reids dans le fichier de manière annexée).

RDB : la persistance RDB est le processus de génération d'un instantané des données du processus actuel et de son enregistrement sur le disque dur. Le processus de déclenchement de la persistance RDB est divisé en déclenchement manuel et déclenchement automatique. (Apprentissage recommandé : Tutoriel vidéo Redis)

Mécanisme de déclenchement

Le déclenchement manuel correspond respectivement aux commandes save et bgsave

commande save : bloquez le serveur Redis actuel jusqu'à ce que le processus RDB soit terminé. Pour les instances avec une mémoire relativement importante, cela entraînera un blocage à long terme et n'est pas recommandé pour une utilisation en ligne. Commande

DB saved on disk
Copier après la connexion

bgseve : le processus Redis effectue une opération fork pour créer un processus enfant. Le processus de persistance RDB est responsable du processus enfant et se termine automatiquement une fois terminé. Le blocage ne se produit que dans la phase de fourche et est généralement de très courte durée.

* Background saving started by pid 3151
* DB saved on disk
* RDB: 0 MB of memory used by copy-on-write
* Background saving terminated with success
Copier après la connexion

Déclencher automatiquement

Il sera déclenché dans les scénarios suivants

1) Utiliser enregistrez les configurations associées, telles que "enregistrer m n". Indique que bgsave est automatiquement déclenché lorsque l'ensemble de données est modifié n fois en m secondes.

2) Si le nœud esclave effectue une opération de copie complète, le nœud maître exécute automatiquement bgsave pour générer un fichier RDB et l'envoie au nœud esclave.

3) Lors de l'exécution de la commande debug reload pour recharger Redis, l'opération de sauvegarde sera également automatiquement déclenchée.

4) Par défaut, lors de l'exécution de la commande shutdown, bgsave sera automatiquement exécuté si la fonction de persistance AOF n'est pas activée.

AOF : Enregistrez chaque commande écrite dans un journal indépendant et réexécutez la commande dans le fichier AOF lors du redémarrage pour récupérer les données. Fonction principale : Résoudre le problème de la persistance des données en temps réel.

Utilisation d'AOF

Pour activer la fonction AOF, vous devez définir la configuration : appendonly yes, qui n'est pas activé par défaut. Le nom du fichier est défini via la configuration appendfilename et la valeur par défaut est appendonly.aof.

Comment persister Redis

1) Toutes les commandes d'écriture seront ajoutées à aof_buf (buffer).

2) Le tampon AOF se synchronise avec le disque dur selon la politique correspondante.

3) À mesure que les fichiers AOF deviennent de plus en plus volumineux, les fichiers AOF doivent être réécrits régulièrement pour obtenir une compression.

4) Lorsque le serveur Redis est redémarré, le fichier AOF peut être chargé pour la récupération des données.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal