Maison  >  Article  >  base de données  >  Explication détaillée de l'application de Redis dans Node.js

Explication détaillée de l'application de Redis dans Node.js

WBOY
WBOYoriginal
2023-06-20 08:49:431662parcourir

Redis est un cache et une base de données efficaces basés sur la mémoire. Il est rapide, fiable et facile à utiliser. Il est largement utilisé dans les applications Web et prend en charge une variété de types de données, tels que des chaînes, des tables de hachage, des listes, des ensembles, des ensembles ordonnés, etc. Node.js, en tant qu'environnement d'exécution JavaScript asynchrone piloté par des événements, gagne progressivement en popularité dans le développement Web. Redis fournit un pilote API Node.js et des bibliothèques Node.js pratiques, ce qui rend Redis très largement utilisé dans le développement Node.js.

Pourquoi choisir Redis ?

Avant de présenter l'application de Redis dans Node.js, voyons d'abord pourquoi nous avons choisi Redis. L'émergence de Redis vise à résoudre le problème des goulots d'étranglement de performances causés par l'augmentation progressive de l'accès aux bases de données relationnelles. La caractéristique de Redis est qu'il utilise le thread principal pour effectuer les opérations de lecture et d'écriture, garantissant ainsi un fonctionnement efficace. Redis stocke les données en mémoire, ce qui lui permet d'avoir des vitesses de lecture et d'écriture très élevées, réduisant ainsi le temps des opérations d'E/S et d'accès au disque. Dans les situations de forte concurrence, Redis peut mieux gérer les requêtes et améliorer la stabilité du système et la vitesse de réponse.

L'utilisation de Node.js et Redis nous permet d'effectuer facilement des opérations de mise en cache et de stockage de données dans Node.js sans nous connecter à une base de données complexe. De plus, l'utilisation de Redis peut également améliorer les performances et l'évolutivité, et est facile à déployer et à exploiter.

Redis Driver

Redis fournit plusieurs pilotes Redis à utiliser avec l'API Node.js. Les plus couramment utilisés sont node-redis et ioredis. node-redis est actuellement le pilote le plus populaire et le plus stable, tandis que ioredis fournit des fonctions de niveau supérieur telles que les sentinelles et la gestion de cluster, et prend également en charge davantage de commandes Redis. Quel que soit le pilote Redis utilisé, ils fournissent tous une connexion entre Node.js et Redis, qui peut facilement réaliser des opérations de lecture et d'écriture de données.

Installation et configuration de Redis

Pour utiliser Redis et Node.js, vous devez d'abord installer Redis, puis configurer le pilote Redis dans Node.js. Sur les systèmes Windows, vous pouvez accéder à http://redis.io/download pour télécharger le package d'installation, et sur les systèmes Unix, vous pouvez l'installer avec la commande suivante :

$ wget http://redis.googlecode.com/files/redis-2.4.16.tar.gz
$ tar xvzf redis-2.4.16.tar.gz
$ cd redis-2.4.16
$ make

Une fois Redis installé avec succès, vous pouvez installer le Pilote Redis Node.js. L'installation du pilote Redis dans Node.js est simple, utilisez simplement la commande npm install sur la ligne de commande. Par exemple, pour installer node-redis, vous pouvez utiliser la commande suivante :

$ npm install redis

Opérations de base de Redis

La première étape consiste à établir une connexion avec le serveur Redis. Le module node-redis dans Node.js peut établir une connexion en utilisant le code suivant :

var redis = require('redis');
var client = redis.createClient();

Cela nous permet d'effectuer des opérations de base sur le serveur Redis, écrites en langage JavaScript dans Node.js. Voyons comment utiliser Node.js et Redis pour les opérations de base.

Définir la valeur

Ce qui suit configurera une paire clé-valeur dans Redis pour montrer comment utiliser Node.js pour effectuer des opérations de base avec Redis.

client.set('key', 'value', function(err, response) {
  console.log(response);
});

Dans l'opération de définition ici, la première clé de paramètre est le nom de la clé qui doit être définie, et la deuxième valeur du paramètre est la valeur qui doit être définie. Ensuite, nous pouvons utiliser la fonction de rappel pour recevoir la valeur de retour du serveur Redis. Pour les opérations simples, la valeur de retour est généralement OK.

Obtenir la valeur

Obtenir une paire clé-valeur dans Redis est très simple. Le code suivant peut obtenir la paire clé-valeur définie à l'étape précédente et imprimer le résultat sur la console.

client.get('key', function(err, response) {
  console.log(response);
});

La première clé de paramètre dans l'opération get ici est le nom de la clé à obtenir, et le deuxième paramètre est la fonction de rappel, qui est utilisée pour recevoir la valeur renvoyée par le serveur Redis.

Définir le délai d'expiration

Les paires clé-valeur Redis peuvent définir le délai d'expiration, ce qui signifie qu'une certaine paire clé-valeur expirera dans le délai spécifié. Le code ci-dessous configure une paire clé-valeur et fixe le délai d'expiration à cinq minutes.

client.set('key', 'value', 'EX', 300, function(err, response) {
  console.log(response);
});

Le 'EX' ici est la commande intégrée de Redis. Le chiffre après . représente le délai d'expiration à définir, en secondes. Après avoir effectué les opérations ci-dessus, cette paire clé-valeur expirera automatiquement après cinq minutes.

Supprimer les paires clé-valeur

Bien que Redis fournisse un moyen de définir le délai d'expiration, dans certains cas, nous pouvons avoir besoin de supprimer manuellement une paire clé-valeur. Le code ci-dessous montre comment supprimer une paire clé-valeur à l'aide de Node.js et Redis.

client.del('key', function(err, response) {
  console.log(response);
});

La première clé de paramètre dans l'opération del ici est le nom de la clé qui doit être supprimée, et le deuxième paramètre est la fonction de rappel, qui est utilisée pour recevoir la valeur renvoyée par le serveur Redis.

Ce qui précède présente les paramètres, opérations d'acquisition et de suppression les plus élémentaires de Redis. La combinaison de Node.js et Redis rend ces opérations très simples. De plus, Redis prend également en charge davantage de types d'opérations, notamment des listes, des tables de hachage, des ensembles, etc. Nous pouvons effectuer ces opérations dans Node.js via le pilote Redis.

Node Redis Cluster

Afin d'améliorer la disponibilité de Redis, un mode cluster est adopté en termes de sharding et de réplication, ce qui permet d'intégrer plusieurs nœuds Redis ensemble pour former un cluster Redis. L'utilisation du cluster Redis dans Node.js est presque la même que celle d'un seul nœud Redis. Nous pouvons utiliser l'API fournie par node-redis pour faire fonctionner le cluster Redis.

L'utilisation du cluster Redis dans Node.js doit utiliser le pilote ioredis. L'exemple de code est le suivant :

const Redis = require('ioredis');

const nodes = [
  { port: 6379, host: '172.16.0.1' },
  { port: 6379, host: '172.16.0.2' },
  { port: 6379, host: '172.16.0.3' },
  { port: 6379, host: '172.16.0.4' },
  { port: 6379, host: '172.16.0.5' },
  { port: 6379, host: '172.16.0.6' },
];

const redis = new Redis.Cluster(nodes);

Ce qui précède est un exemple de code lors de l'utilisation du cluster Redis dans Node.js. Pour utiliser le cluster Redis, spécifiez simplement plusieurs instances gérées Redis.

Résumé

Grâce à l'introduction de cet article, nous pouvons constater que l'utilisation de Redis dans Node.js est très pratique et pratique. Node.js fournit de nombreux excellents pilotes Redis pour simplifier notre interaction avec Redis. L'efficacité et l'évolutivité de Redis en font une solution de mise en cache et de base de données largement utilisée dans Node.js. Il vous suffit de suivre les étapes présentées dans cet article pour intégrer facilement Redis dans votre application Node.js et améliorer les performances et la vitesse de réponse de votre application Web.

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