Maison > Article > développement back-end > Tutoriel Redis (9) : exemple de configuration de réplication maître-esclave
1. Réplication de Redis :
La première chose qu'il faut expliquer ici est que la configuration du mode Maître-Esclave dans Redis est vraiment simple. Je pense que vous pouvez facilement le faire après avoir lu ce blog. Nous énumérerons ici dans un premier temps quelques connaissances théoriques, puis donnerons des cas pratiques.
La liste suivante explique clairement les fonctionnalités et les avantages de Redis Replication.
1). Le même maître peut synchroniser plusieurs esclaves.
2). L'esclave peut également accepter les demandes de connexion et de synchronisation d'autres esclaves, ce qui peut efficacement soulager la pression de synchronisation du maître. Nous pouvons donc considérer l'architecture de réplication de Redis comme une structure graphique.
3). Le serveur maître fournit des services aux esclaves de manière non bloquante. Ainsi lors de la synchronisation maître-esclave, les clients peuvent toujours soumettre des requêtes ou des demandes de modification.
4). Slave Server effectue également la synchronisation des données de manière non bloquante. Lors de la synchronisation, si un client soumet une demande de requête, Redis renvoie les données avant la synchronisation.
5). Afin de soulager la pression des opérations de lecture du maître, le serveur esclave peut fournir des services d'opération en lecture seule au client, et le service d'écriture doit toujours être effectué par le maître. Néanmoins, l’évolutivité du système a été grandement améliorée.
6). Le maître peut confier l'opération de sauvegarde des données aux esclaves, évitant ainsi la nécessité d'un processus indépendant dans le maître pour terminer cette opération.
2. Comment fonctionne la réplication :
Une fois que l'esclave démarre et se connecte au maître, il enverra activement une commande SYNC. Après cela, le maître démarrera le processus de sauvegarde en arrière-plan et collectera toutes les commandes reçues pour modifier l'ensemble de données. Une fois le processus en arrière-plan terminé, le maître transférera l'intégralité du fichier de base de données vers l'esclave pour effectuer une synchronisation complète. Après avoir reçu les données du fichier de base de données, le serveur esclave les enregistre et les charge en mémoire. Après cela, le maître continue de transmettre toutes les commandes de modification collectées et les nouvelles commandes de modification aux esclaves en séquence. L'esclave exécutera cette fois ces commandes de modification de données pour réaliser la synchronisation finale des données.
Si le lien entre le maître et l'esclave est déconnecté, l'esclave peut se reconnecter automatiquement au maître, mais une fois la connexion réussie, une synchronisation complète sera automatiquement effectuée.
3. Comment configurer la réplication :
Voir les étapes suivantes :
1). Démarrez deux serveurs Redis en même temps. Vous pouvez envisager de démarrer deux serveurs Redis sur la même machine. et surveillez-les séparément différents ports comme 6379 et 6380.
2). Exécutez la commande sur le serveur esclave :
/> redis-cli -p 6380 #这里我们假设Slave的端口号是6380 redis 127.0.0.1:6380> slaveof 127.0.0.1 6379 #我们假设Master和Slave在同一台主机,Master的端口为6379 OK
La méthode ci-dessus garantit uniquement qu'après l'exécution de la commande slaveof, redis_6380 devient l'esclave de redis_6379 une fois le service (redis_6380) redémarré. , la relation de réplication entre eux prendra fin.
Si vous souhaitez assurer la relation de réplication entre les deux serveurs pendant une longue période, vous pouvez apporter les modifications suivantes dans le fichier de configuration de redis_6380 :
/> cd /etc/redis #切换Redis服务器配置文件所在的目录。 /> ls 6379.conf 6380.conf /> vi 6380.conf 将 # slaveof <masterip> <masterport> 改为 slaveof 127.0.0.1 6379
Enregistrez et quittez.
Cela garantit que le programme de service Redis_6380 établira activement une connexion de réplication avec Redis_6379 après chaque démarrage.
4. Exemples d'application :
Ici, nous supposons que le maître-esclave a été établi.
#启动master服务器。 [root@Stephen-PC redis]# redis-cli -p 6379 redis 127.0.0.1:6379> #情况Master当前数据库中的所有Keys。 redis 127.0.0.1:6379> flushdb OK #在Master中创建新的Keys作为测试数据。 redis 127.0.0.1:6379> set mykey hello OK redis 127.0.0.1:6379> set mykey2 world OK #查看Master中存在哪些Keys。 redis 127.0.0.1:6379> keys * 1) "mykey" 2) "mykey2" #启动slave服务器。 [root@Stephen-PC redis]# redis-cli -p 6380 #查看Slave中的Keys是否和Master中一致,从结果看,他们是相等的。 redis 127.0.0.1:6380> keys * 1) "mykey" 2) "mykey2" #在Master中删除其中一个测试Key,并查看删除后的结果。 redis 127.0.0.1:6379> del mykey2 (integer) 1 redis 127.0.0.1:6379> keys * 1) "mykey" #在Slave中查看是否mykey2也已经在Slave中被删除。 redis 127.0.0.1:6380> keys * 1) "mykey"
Ce qui précède est le contenu du didacticiel Redis (9) : exemple de configuration de copie maître-esclave. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !