Maison  >  Article  >  base de données  >  Comment synchroniser maître-esclave dans Redis

Comment synchroniser maître-esclave dans Redis

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

Comment synchroniser maître-esclave dans Redis

Pour la même raison que la réplication maître-esclave MySQL, bien que Redis soit très rapide en lecture et en écriture, cela peut également entraîner une pression de lecture extrêmement élevée. Afin de partager la pression de lecture, Redis prend en charge la réplication maître-esclave La structure maître-esclave de Redis peut utiliser un maître et plusieurs esclaves ou une structure en cascade La figure ci-dessous montre la structure en cascade. (Apprentissage recommandé : Tutoriel vidéo Redis)

Comment synchroniser maître-esclave dans Redis

La réplication maître-esclave Redis peut être divisée en synchronisation complète et synchronisation incrémentielle selon qu'elle est plein ou pas.

1 Synchronisation complète

La réplication complète de Redis se produit généralement pendant la phase d'initialisation de l'esclave. À ce stade, l'esclave doit être transféré. toutes les données sur le Master. Faites une copie des deux. Les étapes spécifiques sont les suivantes :

1) Le serveur esclave se connecte au serveur principal et envoie la commande SYNC

2) Une fois que le serveur principal a reçu le nom SYNC, il commence à exécuter le Commande BGSAVE pour générer le fichier RDB et utiliser l'enregistrement tampon Toutes les commandes d'écriture exécutées par la suite

3) Une fois le serveur maître BGSAVE exécuté, il envoie des fichiers instantanés à tous les serveurs esclaves et continue d'enregistrer les commandes d'écriture exécutées ; pendant la période d'envoi ;

4) Après avoir reçu le fichier d'instantané, le serveur esclave supprime toutes les anciennes données et charge l'instantané reçu

5) Une fois l'instantané du serveur maître envoyé, il démarre ; envoyer la commande d'écriture dans le tampon au serveur esclave ;

6) Le serveur esclave termine le chargement de l'instantané, commence à recevoir des demandes de commande et exécute les commandes d'écriture à partir du tampon du serveur maître

Comment synchroniser maître-esclave dans RedisAprès avoir terminé les étapes ci-dessus, l'initialisation des données du serveur esclave est terminée. Pour toutes les opérations, le serveur esclave peut désormais recevoir des demandes de lecture des utilisateurs.

2 Synchronisation incrémentielle

La réplication incrémentielle Redis fait référence au processus de synchronisation des opérations d'écriture sur le serveur maître avec le serveur esclave lorsque l'esclave commence à fonctionner normalement après l'initialisation.

Le processus de réplication incrémentielle consiste principalement à ce que chaque fois que le serveur maître exécute une commande d'écriture, il envoie la même commande d'écriture au serveur esclave, et le serveur esclave reçoit et exécute la commande d'écriture reçue.

3 Stratégie de synchronisation maître-esclave Redis

Lorsque le maître-esclave vient de se connecter, une synchronisation complète est effectuée une fois la synchronisation complète terminée, une synchronisation incrémentielle ; est effectué. Bien entendu, si nécessaire, l'esclave peut à tout moment lancer une synchronisation complète. La stratégie Redis est que, quoi qu'il arrive, une synchronisation incrémentielle sera tentée en premier, et en cas d'échec, la machine esclave devra effectuer une synchronisation complète.

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