Maison >base de données >Redis >Comment persister Redis
É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.
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
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
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.
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!