Table des matières
名词解释--集群
redis集群要求
mac 环境下搭建本地redis集群
1. 下载安装redis
2. 通过redis配置集群环境
Le contexte de l'utilisation du cluster est le suivant : en mode singleton Redis, avec l'augmentation du nombre d'utilisateurs et de visites, la valeur qps augmente fortement ??, et un grand nombre d'opérations io provoquent le soit plein à un certain moment >cpu(100%), il existe un risque de temps d'arrêt à tout moment. Dans le même temps, le traitement par lots Redis et d'autres méthodes ne sont qu'une solution temporaire, pas. la cause première et ne peut pas surmonter le goulot d'étranglement des performances du serveur. Il est donc impératif d’utiliser une solution cluster ou d’ajouter des instances Redis.
Explication des termes - cluster
Exigences du cluster Redis
Créer un cluster Redis local dans un environnement Mac
4. 相关命令
客户端使用 ioredis 框架接入集群
使用bull框架(redis 队列)
问题处理
结语
Maison interface Web js tutoriel En savoir plus sur l'utilisation de la fonction de cluster Redis dans le nœud [configuration détaillée]

En savoir plus sur l'utilisation de la fonction de cluster Redis dans le nœud [configuration détaillée]

Mar 30, 2022 pm 08:23 PM
node redis集群

Comment utiliser la fonction cluster Redis dans le nœud ? L'article suivant vous donnera une explication détaillée de la configuration du cluster Redis basée sur node J'espère qu'il vous sera utile !

En savoir plus sur l'utilisation de la fonction de cluster Redis dans le nœud [configuration détaillée]

Concernant l'utilisation de la fonction cluster redis dans nodejsnodejs中使用redis集群功能,没有找到一篇比较完整且通俗易懂的文章,因此自己在开发调试的过程中也走了不少弯路。

本文会详细介绍了在本地如何搭建redis集群、在客户端如何使用集群、在搭建过程中遇到的问题和错误汇总并说明,以避免下次使用的时候再走弯路,提高开发、工作效率。

使用集群的背景是:在Redis单例模式下随着用户量、访问量的提高,qps值急剧上涨??,大量的io操作导致某一时刻占满cpu(100%),随时有宕机的危险,同时通过批量处理redis等方式也是治标不治本,无法突破服务器性能的瓶颈。因此使用集群方案或增加redis实例就势在必行。

名词解释--集群

集群一般是指服务器集群,区别于分布式系统,是将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。(在redis3.0之前一般使用的都是 哨兵模式,但 哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般)

redis集群要求

由于投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了,所以2个节点无法构成集群,因此Redis集群至少需要3个节点。

要保证集群的高可用、需要每个节点都有从节点(也就是备份节点),所以Redis集群至少需要6台服务器。 (三主三从、三存三取、高可用、可备份)

当然,我们在本地调试时不可能用这么多服务器,因此我们可以在本地模拟运行6个redis实例,事实上生产环境的Redis集群搭建和这里基本上一样。

mac 环境下搭建本地redis集群

1. 下载安装redis

可以在官网选择安装,也可以用命名行安装

#安装
brew install redis
#启动
redis-server
#进入redis客户端
redis-cli
Copier après la connexion

2. 通过redis配置集群环境

首先要找到redis配置文件的位置

  • brew list redis # 查看redis安装的位置
  • cd /opt/homebrew/Cellar/redis/6.2.4 # 根据位置进入版本号所在的文件夹
  • open . # 打开文件夹
  • Xcode.app打开homebrew.mxcl.redis.plist, 即可找到redis.conf所在的位置,如下所示:

En savoir plus sur lutilisation de la fonction de cluster Redis dans le nœud [configuration détaillée]

En savoir plus sur lutilisation de la fonction de cluster Redis dans le nœud [configuration détaillée]

创建六个服务配置文件

cd /opt/homebrew/etc/(上一步找到的配置文件目录)

# 需要在 /opt/homebrew/etc/ 路径下
mkdir -p redis/cluster/7000
mkdir -p redis/cluster/7001
mkdir -p redis/cluster/7002
mkdir -p redis/cluster/7003
mkdir -p redis/cluster/7004
mkdir -p redis/cluster/7005
Copier après la connexion

修改配置文件

/opt/homebrew/etc/redis.conf路径下的配置文件不用去修改, 只要将其copy到上面创建的 redis/cluster/7000目录下,然后再修改,步骤如下

  • 先复制一份配置文件修改
cd /opt/homebrew/etc/ # 进入配置文件目录
cp redis.conf redis/cluster/7000/7000.conf
code redis/cluster/7000/7000.conf # 用编辑器打开或者用vim打开配置文件来进行修改
Copier après la connexion
  • 进入到7000.conf后,修改以下属性
# Redis端口号(7000-7005每个配置文件都要修改)
port 7000  

# 开启集群模式运行
cluster-enabled yes   

# 集群内部配置文件配置文件路径,默认nodes-6379.conf(7000-7005每个配置文件都要修改)
cluster-config-file nodes-7000.conf 

# 节点间通信的超时时间
cluster-node-timeout 5000  

# 数据持久化
appendonly yes
Copier après la connexion
  • 将7000.conf复制到每个redis服务的目录下
cd /opt/homebrew/etc/redis/cluster # 进入配置文件目录

cp 7000/7000.conf 7001/7001.conf
cp 7000/7000.conf 7002/7002.conf
cp 7000/7000.conf 7003/7003.conf
cp 7000/7000.conf 7004/7004.conf
cp 7000/7000.conf 7005/7005.conf
Copier après la connexion
  • 再修改7001.conf-7005.conf每个配置文件的port和cluster-config-file属性

注意:每个配置文件必需配置不一样的port和cluster-config-file值(否则集群不会生效),上面是以端口区分。

通过find /opt/homebrew -name nodes-7000.conf, je n'ai pas trouvé d'article relativement complet et simple à comprendre, je suis donc dans le processus de développement et de débogage, j'ai également fait de nombreux détours. Cet article présentera en détail

comment construire un cluster redis localement, comment utiliser le cluster sur le client, et résumera et expliquera les problèmes et erreurs rencontrés lors du processus de construction
, afin d'éviter les détours la prochaine fois et d'améliorer Développement, efficacité du travail.

Le contexte de l'utilisation du cluster est le suivant : en mode singleton Redis, avec l'augmentation du nombre d'utilisateurs et de visites, la valeur qps augmente fortement ??, et un grand nombre d'opérations io provoquent le soit plein à un certain moment >cpu(100%), il existe un risque de temps d'arrêt à tout moment. Dans le même temps, le traitement par lots Redis et d'autres méthodes ne sont qu'une solution temporaire, pas. la cause première et ne peut pas surmonter le goulot d'étranglement des performances du serveur. Il est donc impératif d’utiliser une solution cluster ou d’ajouter des instances Redis.

Explication des termes - cluster

Cluster fait généralement référence à un cluster de serveurs, qui est différent d'un système distribué. Il s'agit d'un groupe de nombreux serveurs rassemblés. pour fournir le même service. Il semble qu’il n’y ait qu’un seul serveur. Le cluster peut utiliser plusieurs ordinateurs pour Calcul parallèle

pour obtenir une vitesse de calcul très élevée, vous pouvez également utiliser plusieurs ordinateurs Backup🎜, de sorte que si une machine est en panne, l'ensemble du système peut toujours fonctionner normalement. (🎜Avant redis3.0, 🎜 🎜Le mode Sentinel était généralement utilisé, mais 🎜 🎜La configuration de Sentinel est légèrement complexe, et ses performances et sa haute disponibilité sont moyennes à tous égards 🎜)🎜

Exigences du cluster Redis

🎜Étant donné que le mécanisme de tolérance aux pannes de vote nécessite que plus de la moitié des nœuds pensent qu'un nœud est en panne, le nœud est en panne, donc 2 nœuds ne peuvent pas former un cluster, donc le cluster Redis en nécessite au moins 3. nœuds. 🎜🎜Pour garantir la haute disponibilité du cluster, chaque nœud doit avoir un nœud esclave (c'est-à-dire un nœud de sauvegarde), donc le cluster Redis nécessite au moins 6 serveurs. 🎜(Trois maîtres et trois esclaves, trois dépôts et trois récupérations, haute disponibilité, sauvegarde)🎜🎜🎜Bien sûr, il nous est impossible d'utiliser autant de serveurs lors du débogage local, nous pouvons donc simuler l'exécution de 6 redis< /code>Exemple, 🎜En fait, la configuration du cluster Redis dans l'environnement de production est fondamentalement la même qu'ici. 🎜🎜<h2 id="Créer-un-cluster-Redis-local-dans-un-environnement-Mac">Créer un cluster Redis local dans un environnement Mac</h2><h3 data-id="heading-4">🎜1. Téléchargez et installez Redis🎜🎜🎜Vous pouvez. choisissez sur le site officiel Installation, vous pouvez également utiliser la ligne nommée pour installer🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'># start.sh 文件 #!/bin/sh redis-server /opt/homebrew/etc/redis/cluster/7000/7000.conf &amp; redis-server /opt/homebrew/etc/redis/cluster/7001/7001.conf &amp; redis-server /opt/homebrew/etc/redis/cluster/7002/7002.conf &amp; redis-server /opt/homebrew/etc/redis/cluster/7003/7003.conf &amp; redis-server /opt/homebrew/etc/redis/cluster/7004/7004.conf &amp; redis-server /opt/homebrew/etc/redis/cluster/7005/7005.conf &amp; # stop.sh 文件 #!/bin/sh redis-cli -p 7000 shutdown &amp; redis-cli -p 7001 shutdown &amp; redis-cli -p 7002 shutdown &amp; redis-cli -p 7003 shutdown &amp; redis-cli -p 7004 shutdown &amp; redis-cli -p 7005 shutdown &amp;</pre><div class="contentsignin">Copier après la connexion</div></div><div class="contentsignin">Copier après la connexion</div></div><h3 data-id="heading-5">🎜2 Configurez l'environnement du cluster via redis🎜🎜🎜🎜Tout d'abord, recherchez l'emplacement du fichier de configuration redis🎜🎜<ul><li> <code>brew list redis # Vérifiez l'emplacement de l'installation de redis
  • cd /opt/homebrew/Cellar/redis/6.2. 4 # Entrez le numéro de version en fonction de l'emplacement Dossier
  • open # Ouvrez le dossier
  • Utilisez Xcode.app<. /code> pour ouvrir <code>homebrew.mxcl.redis .plist, vous pouvez trouver l'emplacement de redis.conf, comme indiqué ci-dessous :
  • 🎜 En savoir plus sur lutilisation de la fonction de cluster Redis dans le nœud [configuration détaillée]🎜🎜En savoir plus sur lutilisation de la fonction de cluster Redis dans le nœud [configuration détaillée]🎜🎜🎜Créer six fichiers de configuration de service 🎜🎜🎜cd /opt/homebrew/ etc/ (le répertoire du fichier de configuration trouvé à l'étape précédente)🎜
    redis-cli -p 7000 # 单个客户端启动
    redis-server 7000/7000.conf  # 启动单个服务端
    redis-cli -p 7000 shutdown # 关闭服务端
    sudo chmod +x start.sh # 开启脚本执行权限
    
    # 设置redis主从关系(三主三从)
    redis-cli --cluster create  --cluster-replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
    
    cluster nodes #查看集群节点情况(进入某个客户端执行)
    cluster info #查看集群信息(进入某个客户端执行)
    
    查看所有key值:keys *
    
    删除指定索引的值:del key
    
    清空整个 Redis 服务器的数据:flushall 
    
    清空当前库中的所有 key:flushdb
    Copier après la connexion
    Copier après la connexion
    🎜🎜Modifier le fichier de configuration🎜🎜🎜Le fichier de configuration sous le chemin / opt/homebrew/etc/redis.conf n'a pas besoin d'être modifié, copiez-le simplement dans le répertoire redis/cluster/7000 créé ci-dessus, puis modifiez-le. comme suit🎜
    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

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Meilleurs paramètres graphiques
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Commandes de chat et comment les utiliser
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

    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 supprimer un nœud dans NVM Comment supprimer un nœud dans NVM Dec 29, 2022 am 10:07 AM

    Comment supprimer un nœud avec nvm : 1. Téléchargez « nvm-setup.zip » et installez-le sur le lecteur C ; 2. Configurez les variables d'environnement et vérifiez le numéro de version via la commande « nvm -v » 3. Utilisez la commande « nvm » ; install" commande Installer le nœud ; 4. Supprimez le nœud installé via la commande "nvm uninstall".

    Comment utiliser Express pour gérer le téléchargement de fichiers dans un projet de nœud Comment utiliser Express pour gérer le téléchargement de fichiers dans un projet de nœud Mar 28, 2023 pm 07:28 PM

    Comment gérer le téléchargement de fichiers ? L'article suivant vous expliquera comment utiliser Express pour gérer les téléchargements de fichiers dans le projet de nœud. J'espère qu'il vous sera utile !

    Une analyse approfondie de l'outil de gestion de processus de Node « pm2 » Une analyse approfondie de l'outil de gestion de processus de Node « pm2 » Apr 03, 2023 pm 06:02 PM

    Cet article partagera avec vous l'outil de gestion de processus de Node "pm2" et expliquera pourquoi pm2 est nécessaire, comment installer et utiliser pm2, j'espère qu'il sera utile à tout le monde !

    Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Mar 05, 2025 pm 05:57 PM

    Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

    Parlons de la façon d'utiliser pkg pour empaqueter des projets Node.js dans des fichiers exécutables. Parlons de la façon d'utiliser pkg pour empaqueter des projets Node.js dans des fichiers exécutables. Dec 02, 2022 pm 09:06 PM

    Comment empaqueter le fichier exécutable nodejs avec pkg ? L'article suivant vous expliquera comment utiliser pkg pour empaqueter un projet Node dans un fichier exécutable. J'espère qu'il vous sera utile !

    Que faire si le nœud npm gyp échoue Que faire si le nœud npm gyp échoue Dec 29, 2022 pm 02:42 PM

    npm node gyp a échoué car les versions de « node-gyp.js » et « Node.js » ne correspondaient pas. La solution : 1. Videz le cache du nœud via « npm cache clean -f » 2. Via « npm install - ». g n" Installez le module n ; 3. Installez la version "node v12.21.0" via la commande "n v12.21.0".

    Authentification basée sur des jetons avec Angular et Node Authentification basée sur des jetons avec Angular et Node Sep 01, 2023 pm 02:01 PM

    L'authentification est l'une des parties les plus importantes de toute application Web. Ce didacticiel traite des systèmes d'authentification basés sur des jetons et de leurs différences par rapport aux systèmes de connexion traditionnels. À la fin de ce didacticiel, vous verrez une démo entièrement fonctionnelle écrite en Angular et Node.js. Systèmes d'authentification traditionnels Avant de passer aux systèmes d'authentification basés sur des jetons, examinons les systèmes d'authentification traditionnels. L'utilisateur fournit son nom d'utilisateur et son mot de passe dans le formulaire de connexion et clique sur Connexion. Après avoir effectué la demande, authentifiez l'utilisateur sur le backend en interrogeant la base de données. Si la demande est valide, une session est créée à l'aide des informations utilisateur obtenues à partir de la base de données et les informations de session sont renvoyées dans l'en-tête de réponse afin que l'ID de session soit stocké dans le navigateur. Donne accès aux applications soumises à

    Qu'est-ce qu'un système d'authentification unique ? Comment l'implémenter en utilisant nodejs ? Qu'est-ce qu'un système d'authentification unique ? Comment l'implémenter en utilisant nodejs ? Feb 24, 2023 pm 07:33 PM

    Qu'est-ce qu'un système d'authentification unique ? Comment l'implémenter en utilisant nodejs ? L'article suivant vous présentera comment utiliser Node pour implémenter un système d'authentification unique. J'espère qu'il vous sera utile !

    See all articles