Table des matières
Version détaillée du cluster de déploiement Redis7.0
1. Conception de la structure interne du cluster Redis
2、cluster集群内部结构搭建
3、主从下线和主从切换
Maison base de données Redis Comment implémenter le cluster de déploiement Redis7.0

Comment implémenter le cluster de déploiement Redis7.0

May 28, 2023 pm 04:28 PM
redis

Version détaillée du cluster de déploiement Redis7.0

L'architecture de cluster est un moyen de connecter plusieurs ordinateurs via un réseau et d'utiliser une méthode de gestion unifiée pour apparaître en externe comme un seul ordinateur fournissant des services

Le rôle du cluster :

  • Répartissez la pression d'accès d'un seul serveur pour atteindre l'équilibrage de charge

  • Distribuez la pression de stockage d'un seul serveur pour atteindre l'évolutivité

  • Réduisez le désastre commercial causé par un temps d'arrêt d'un seul serveur

Comment implémenter le cluster de déploiement Redis7.0

1. Conception de la structure interne du cluster Redis

Conception du stockage de données

  • Grâce à la conception d'un algorithme, calculez l'emplacement où la clé doit être enregistrée

  • Découpez tous les plans d'espace de stockage en 16384 parties, chaque hôte enregistre une partie et chaque partage A représente un espace de stockage, pas un espace de stockage pour une clé

  • Mettez la clé dans l'espace de stockage correspondant en fonction du résultat calculé

  • Améliorez l'évolutivité (un nouvel espace de stockage est ajouté, le nom officiel est slot )

集群内部通讯设计

  • 各个数据库相互通信,保存各个库中槽的编号数据

  • 一次命中,直接返回

  • 一次未命中,告知具体位置

2、cluster集群内部结构搭建

在虚拟机中启动多个窗口进行集群搭建演示

Comment implémenter le cluster de déploiement Redis7.0

主要命令在主命令操作客户端执行

修改redis.conf配置文件

添加如下内容

cluster-enabled yes # 启动为节点
cluster-config-file nodes-6379.conf # cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容
cluster-node-timeout 10000 # 节点服务响应超时时间,用于判定该节点是否下线或切换为从节点
cluster-migration-barrier <count> # master连接的slave最小数量
Copier après la connexion

快速复制5分配置文件并替换里面的端口

[root@localhost conf]# sed "s/6379/6380/g" redis-6379.conf > redis-6380.conf 
[root@localhost conf]# sed "s/6379/6381/g" redis-6379.conf > redis-6381.conf 
[root@localhost conf]# sed "s/6379/6382/g" redis-6379.conf > redis-6382.conf 
[root@localhost conf]# sed "s/6379/6383/g" redis-6379.conf > redis-6383.conf 
[root@localhost conf]# sed "s/6379/6384/g" redis-6379.conf > redis-6384.conf 
[root@localhost conf]# sed "s/6379/6385/g" redis-6379.conf > redis-6385.conf
Copier après la connexion

全部执行后可以通过cat指令查看内容确保被修改

启动redis服务集群

# 在第一个窗口执行6379服务
redis-server redis-6379.conf
# 在第二个窗口执行6380服务
redis-server redis-6380.conf
# 在第三个窗口执行6381服务
redis-server redis-6381.conf
# 下面的代码依次类推到6385
Copier après la connexion

执行命令查看redis进程和端口

ps -ef | grep redis-
Copier après la connexion

Comment implémenter le cluster de déploiement Redis7.0

连接节点

在src目录下查看redis-trib.rb

在高版本中已经将启动操作移动到redis-cli

启动需要两个下载两个文件分别是rubygem

# 下载命令也会将gem一起
yum -y install rubygems
Copier après la connexion

 # --cluster create 创建集群
 # --cluster-replicas 1 指定集群的内部结构(1代表一个master连接1个slave,2代表一个master连接两个save)
 # 后面的连接端口按数量实现master连接哪一个slave,1对1,1对2
 redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
Copier après la connexion

执行的结果如下

Comment implémenter le cluster de déploiement Redis7.0

查看配置信息的结果如下

Comment implémenter le cluster de déploiement Redis7.0

执行yes命令后的信息如下

Comment implémenter le cluster de déploiement Redis7.0

再次查看配置文件的信息,里面记录这所有集群信息

启动客户端存储数据

因为使用了集群部署,所以通过-c参数可以操作集群,如果不指定的是操作redis命令会提示(error) MOVED 5798 127.0.0.1:6380

注意:-c操作集群

redis-cli -c
# 创建key,通过返回信息可以知道key存储到6380下了
127.0.0.1:6379> set name 123
-> Redirected to slot [5798] located at 127.0.0.1:6380
OK
Copier après la connexion

指定端口连接客户端

# 连接指定的集群客户端
[root@localhost data]# redis-cli -c -p 6382
# 获取key
127.0.0.1:6382> get name
-> Redirected to slot [5798] located at 127.0.0.1:6380
"123"
127.0.0.1:6380>
Copier après la connexion

Cluster节点操作命令

查看集群节点信息

cluster nodes
Copier après la connexion

进入一个从节点 redis,切换其主节点

cluster replicate <master-id>
Copier après la connexion

发现一个新节点,新增主节点

cluster meet ip:port
Copier après la connexion

忽略一个没有solt的节点

cluster forget <id>
Copier après la connexion

手动故障转移

cluster failover
Copier après la connexion

redis-trib命令

添加节点

redis-trib.rb add-node
Copier après la connexion

删除节点

redis-trib.rb del-node
Copier après la connexion

重新分片

redis-trib.rb reshard
Copier après la connexion

3、主从下线和主从切换

1、模拟从机下线操作

在从机服务器执行Ctrl + C

Conception de la communication interne du cluster

Chaque base de données communique entre elles et enregistre les données numériques de l'emplacement dans chaque bibliothèque

🎜Un coup, renvoie directement🎜🎜🎜🎜Un échec, Informer l'emplacement spécifique🎜🎜🎜🎜2. Construction de la structure interne du cluster🎜🎜🎜Démarrer plusieurs fenêtres dans la machine virtuelle pour la démonstration de la construction du cluster🎜🎜🎜Comment implémenter le cluster de déploiement Redis7.0🎜🎜🎜La commande principale est exécutée sur le client d'opération de commande principale🎜 🎜🎜modifier le fichier de configuration redis.conf🎜🎜🎜Ajouter le contenu suivant🎜🎜rrreee🎜Copiez rapidement 5 points du fichier de configuration et remplacez les ports qu'il contient🎜rrreee🎜🎜Après toute exécution, vous pouvez affichez le contenu via la commande cat Assurez-vous qu'il est modifié🎜🎜🎜Démarrez le cluster de services redis🎜rrreee🎜Exécutez la commande pour afficher le processus redis et le port🎜rrreee🎜Comment implémenter le cluster de déploiement Redis7.0🎜🎜Connecter les nœuds🎜🎜🎜Voir redis-trib .rb dans le répertoire src🎜🎜L'opération de démarrage a été déplacée dans les versions supérieures. Allez sur redis-cli et démarrez-le en téléchargeant deux fichiers : ruby et gem🎜rrreee🎜🎜🎜rrreee🎜 Les résultats sont les suivants🎜🎜Comment implémenter le cluster de déploiement Redis7.0🎜🎜Afficher la configuration Le résultat des informations est le suivant🎜🎜Comment implémenter le cluster de déploiement Redis7.0🎜🎜 Les informations après l'exécution de la commande yes sont les suivantes🎜🎜Redis7. 0Comment implémenter le déploiement du cluster🎜🎜🎜Vérifiez à nouveau les informations du fichier de configuration, qui enregistre tous les informations sur le cluster🎜🎜🎜Démarrez le client pour stocker les données🎜🎜🎜Étant donné que le déploiement du cluster est utilisé, transmettez -c Le paramètre code> peut faire fonctionner le cluster. Si la commande redis n'est pas spécifiée, elle demandera <. code>(erreur) DÉPLACEMENT 5798 127.0.0.1:6380</.>🎜🎜Remarque : -c exploite le cluster🎜 🎜rrreee🎜Spécifiez le port pour se connecter au client🎜rrreee🎜 Commande d'opération du nœud de cluster🎜🎜Afficher les informations sur le nœud de cluster🎜rrreee🎜Entrez un nœud esclave redis et changez son nœud maître🎜rrreee🎜Découvrez un nouveau nœud, nouveau Augmentez le nœud principal 🎜rrreee🎜Ignorez un nœud sans solt🎜rrreee🎜 Basculement manuel🎜rrreee🎜commande redis-trib🎜🎜Ajouter un nœud🎜rrreee🎜Supprimer un nœud🎜rrreee🎜Reshard🎜rrreee🎜 3. Maître-esclave hors ligne et commutation maître-esclave🎜🎜1. opération🎜🎜🎜Exécuter le service de téléchargement Ctrl + C sur le serveur esclave🎜🎜🎜Observer l'état de l'hôte connecté, l'hôte Si l'esclave ne peut pas être connecté dans les 10 secondes, il sera marqué comme échoué .Les autres services du cluster ne parviendront pas à se connecter et les autres services recevront les informations. Redémarrez l'esclave et le maître se reconnectera à l'esclave 🎜🎜🎜 Si l'hôte se déconnecte, l'esclave basculera vers un certain emplacement. l'hôte revient en ligne, l'hôte d'origine deviendra l'esclave 🎜🎜

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment construire le mode Cluster Redis Comment construire le mode Cluster Redis Apr 10, 2025 pm 10:15 PM

Le mode Redis Cluster déploie les instances Redis sur plusieurs serveurs grâce à la rupture, à l'amélioration de l'évolutivité et de la disponibilité. Les étapes de construction sont les suivantes: Créez des instances de redis étranges avec différents ports; Créer 3 instances Sentinel, Moniteur Redis Instances et basculement; Configurer les fichiers de configuration Sentinel, ajouter des informations d'instance Redis de surveillance et des paramètres de basculement; Configurer les fichiers de configuration d'instance Redis, activer le mode de cluster et spécifier le chemin du fichier d'informations de cluster; Créer un fichier nœuds.conf, contenant des informations de chaque instance redis; Démarrez le cluster, exécutez la commande CREATE pour créer un cluster et spécifiez le nombre de répliques; Connectez-vous au cluster pour exécuter la commande d'informations de cluster pour vérifier l'état du cluster; faire

Comment effacer les données redis Comment effacer les données redis Apr 10, 2025 pm 10:06 PM

Comment effacer les données Redis: utilisez la commande flushall pour effacer toutes les valeurs de clé. Utilisez la commande flushdb pour effacer la valeur clé de la base de données actuellement sélectionnée. Utilisez SELECT pour commuter les bases de données, puis utilisez FlushDB pour effacer plusieurs bases de données. Utilisez la commande del pour supprimer une clé spécifique. Utilisez l'outil Redis-CLI pour effacer les données.

Comment lire la file d'attente redis Comment lire la file d'attente redis Apr 10, 2025 pm 10:12 PM

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

Comment utiliser la commande redis Comment utiliser la commande redis Apr 10, 2025 pm 08:45 PM

L'utilisation de la directive Redis nécessite les étapes suivantes: Ouvrez le client Redis. Entrez la commande (Verbe Key Value). Fournit les paramètres requis (varie de l'instruction à l'instruction). Appuyez sur Entrée pour exécuter la commande. Redis renvoie une réponse indiquant le résultat de l'opération (généralement OK ou -err).

Comment utiliser Redis Lock Comment utiliser Redis Lock Apr 10, 2025 pm 08:39 PM

L'utilisation des opérations Redis pour verrouiller nécessite l'obtention du verrouillage via la commande setnx, puis en utilisant la commande Expire pour définir le temps d'expiration. Les étapes spécifiques sont les suivantes: (1) Utilisez la commande setnx pour essayer de définir une paire de valeurs de clé; (2) Utilisez la commande Expire pour définir le temps d'expiration du verrou; (3) Utilisez la commande del pour supprimer le verrouillage lorsque le verrouillage n'est plus nécessaire.

Comment lire le code source de Redis Comment lire le code source de Redis Apr 10, 2025 pm 08:27 PM

La meilleure façon de comprendre le code source redis est d'aller étape par étape: familiarisez-vous avec les bases de Redis. Sélectionnez un module ou une fonction spécifique comme point de départ. Commencez par le point d'entrée du module ou de la fonction et affichez le code ligne par ligne. Affichez le code via la chaîne d'appel de fonction. Familiez les structures de données sous-jacentes utilisées par Redis. Identifiez l'algorithme utilisé par Redis.

Comment configurer le temps d'exécution du script LUA dans Centos Redis Comment configurer le temps d'exécution du script LUA dans Centos Redis Apr 14, 2025 pm 02:12 PM

Sur CentOS Systems, vous pouvez limiter le temps d'exécution des scripts LUA en modifiant les fichiers de configuration Redis ou en utilisant des commandes Redis pour empêcher les scripts malveillants de consommer trop de ressources. Méthode 1: Modifiez le fichier de configuration Redis et localisez le fichier de configuration Redis: le fichier de configuration redis est généralement situé dans /etc/redis/redis.conf. Edit Fichier de configuration: Ouvrez le fichier de configuration à l'aide d'un éditeur de texte (tel que VI ou NANO): Sudovi / etc / redis / redis.conf Définissez le délai d'exécution du script LUA: Ajouter ou modifier les lignes suivantes dans le fichier de configuration pour définir le temps d'exécution maximal du script LUA (unité: millisecondes)

Comment utiliser la ligne de commande redis Comment utiliser la ligne de commande redis Apr 10, 2025 pm 10:18 PM

Utilisez l'outil de ligne de commande redis (Redis-CLI) pour gérer et utiliser Redis via les étapes suivantes: Connectez-vous au serveur, spécifiez l'adresse et le port. Envoyez des commandes au serveur à l'aide du nom et des paramètres de commande. Utilisez la commande d'aide pour afficher les informations d'aide pour une commande spécifique. Utilisez la commande QUIT pour quitter l'outil de ligne de commande.

See all articles