Construction et utilisation du cluster Redis
Redis est une base de données clé-valeur non relationnelle et hautes performances avec des fonctionnalités telles qu'une lecture et une écriture rapides, la prise en charge de plusieurs structures de données et la persistance des données. Elle est largement utilisée dans les caches, les compteurs, les files d'attente de messages et d'autres scénarios. Dans les applications réelles, les performances d'une seule instance Redis présentent certaines limites. Un cluster Redis doit donc être utilisé pour obtenir une expansion horizontale et une haute disponibilité. Cet article présentera la construction et l'utilisation du cluster Redis.
1. Qu'est-ce que Redis Cluster
Redis Cluster est un système distribué composé de plusieurs nœuds Redis. Chaque nœud peut gérer les demandes des clients. La cohérence des données est assurée par la réplication et le partage des données entre les nœuds. Le cluster Redis adopte le mode de partitionnement pour réaliser un stockage distribué des données. Les données sont dispersées entre plusieurs nœuds. Chaque nœud ne stocke qu'une partie des données. Différentes clés sont mappées à différents nœuds via un certain algorithme.
Le cluster Redis comprend principalement deux types de nœuds : le nœud maître et le nœud esclave. Le nœud maître est chargé de recevoir les demandes d'écriture des clients, de répliquer les données du nœud maître à partir des nœuds esclaves et de recevoir les demandes de lecture des clients. Une relation de réplication maître-esclave peut également être formée entre les nœuds esclaves pour obtenir une redondance et un basculement de nœud. Lorsque le nœud maître tombe en panne, l'un des nœuds esclaves deviendra automatiquement le nœud maître pour assurer la disponibilité du cluster.
2. Construction du cluster Redis
1. Préparation de l'environnement
Avant de commencer à construire le cluster Redis, vous devez préparer l'environnement suivant :
(1) Serveur Linux : il peut être construit à l'aide de machines virtuelles ou d'hôtes cloud. . Il est recommandé de préparer au moins 3 serveurs.
(2) Package d'installation Redis : Téléchargez la dernière version stable du package d'installation Redis depuis le site officiel de Redis (https://redis.io/download).
2. Installez Redis
Extrayez le package d'installation Redis téléchargé sur le serveur, compilez et installez Redis :
tar xvzf redis-6.0.7.tar.gz
cd redis-6.0.7
make
make install
Une fois l'installation terminée, vous pouvez utiliser la commande redis-server pour démarrer le serveur Redis et utiliser la commande redis-cli pour vous connecter au serveur Redis à des fins de test.
3. Configurer et démarrer le cluster Redis
La configuration du cluster Redis se fait via un fichier de configuration redis.conf. Créez des fichiers de configuration pour plusieurs nœuds Redis sur le serveur, nommés redis_7000.conf, redis_7001.conf, etc. Le contenu du fichier de configuration pour chaque nœud est le suivant :
port 7000
cluster-enabled yes
cluster-config-file nodes_7000.conf
cluster-node-timeout 5000
daemonize yes
logfile "/var/log/redis/redis.log"
pidfile "/var/run/redis/redis.pid"
dir "/var/lib/redis "
Parmi eux, port spécifie le numéro de port du nœud, cluster-enabled signifie activer le mode cluster, cluster-config-file spécifie le fichier de configuration du nœud, cluster-node-timeout spécifie le délai d'expiration pour la communication entre nodes et daemonize spécifie s'il faut utiliser le mode démon lors de l'exécution, logfile et pidfile spécifient respectivement les chemins des fichiers journaux et pid, et dir spécifie le chemin du fichier de données.
Après avoir modifié le fichier de configuration de chaque nœud, utilisez la commande redis-server pour démarrer le serveur Redis de chaque nœud.
4. Créez un cluster et ajoutez des nœuds
Utilisez la commande redis-cli pour vous connecter à n'importe quel nœud Redis et utilisez la commande cluster meet pour ajouter d'autres nœuds :
redis-cli -c -p 7000
cluster meet 127.0 .0.1 7001
cluster meet 127.0.0.1 7002
Utilisez ensuite la commande cluster addlots pour ajouter des emplacements à chaque nœud, par exemple :
cluster addlots 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Enfin, utilisez la commande cluster replicate comme Spécifiez un nœud maître à partir du nœud, par exemple :
cluster replicate
Remplacez le
3. Utilisation du cluster Redis
1. Opérations de lecture et d'écriture
Les opérations de lecture et d'écriture dans le cluster Redis sont les mêmes que les opérations Redis ordinaires. Vous pouvez utiliser redis-cli pour vous connecter à n'importe quel nœud, puis exécuter des commandes. tels que set et get. Par exemple :
redis-cli -c -p 7000
set name "Redis Cluster"
get name
2 Expansion et réduction
Vous pouvez utiliser les commandes cluster addlots et cluster delslots pour ajouter. ou supprimez des emplacements pour le cluster Redis, par exemple :
Ajouter des emplacements
cluster addlots 1024
Supprimer des emplacements
cluster delslots 0
Après avoir ajouté ou supprimé des emplacements, vous devez exécuter la commande de rééquilibrage du cluster pour réaffecter les emplacements.
3. Basculement et récupération
Le cluster Redis prend en charge la fonction de commutation automatique du nœud esclave vers le nœud maître après la défaillance du nœud maître. Vous pouvez utiliser la commande de basculement du cluster pour simuler la défaillance du nœud maître ou changer manuellement de maître-esclave. relation, par exemple :
Simuler la défaillance du nœud maître
basculement du cluster
Changer manuellement la relation maître-esclave
réplication du cluster
basculement du cluster
Lorsque le maître Le nœud récupère, le nœud esclave sera automatiquement restauré sur le nœud esclave et communiquera avec les données de synchronisation du nœud maître.
4.Résumé
Cet article présente la construction et l'utilisation du cluster Redis. Le cluster Redis peut réaliser une expansion horizontale et une haute disponibilité, offrant une bonne solution pour le stockage de données à grande échelle et un accès simultané élevé. Cependant, l'établissement, l'exploitation et la maintenance du cluster Redis sont également relativement complexes, et la sauvegarde des données et la tolérance aux pannes doivent être bien faites. En utilisation réelle, il est nécessaire de choisir une solution de cluster Redis appropriée en fonction du scénario commercial et de l'échelle du système.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Solution à l'erreur 0x80242008 lors de l'installation de Windows 11 10.0.22000.100

Analyser les goulots d'étranglement des fonctions PHP et améliorer l'efficacité de l'exécution

Stratégie de mise en cache et optimisation de l'API Golang

Lequel a les meilleures performances, erlang ou golang ?

Mécanisme de mise en cache et pratique d'application dans le développement PHP

Comment utiliser le cache Redis dans la pagination des tableaux PHP ?

Comment mettre à niveau Win11 anglais 21996 vers le chinois simplifié 22000_Comment mettre à niveau Win11 anglais 21996 vers le chinois simplifié 22000

Navicat peut-il se connecter à Redis ?
