Redis (ioredis) pour JavaScript (Node.js) : Guide complet
Redis (Remote Dictionary Server) est un magasin de données clé-valeur haute performance en mémoire, souvent utilisé comme base de données, cache et courtier de messages. Pour interagir avec Redis depuis Node.js, plusieurs clients existent, et ioredis est l'un des plus puissants, performants et populaires. Cette bibliothèque offre un ensemble complet de fonctionnalités pour interagir avec Redis, incluant le support des clusters, Pub/Sub, le pipeline, les transactions et les scripts Lua.
Pourquoi utiliser cette bibliothèque ? Dans le développement web moderne avec Node.js, un accès rapide aux données est crucial. Redis, fonctionnant en mémoire, offre des vitesses de lecture/écriture inaccessibles aux bases de données relationnelles traditionnelles. ioredis permet aux développeurs d'intégrer facilement cette puissance dans leurs applications : mettre en cache des résultats de requêtes complexes, gérer les sessions utilisateur, implémenter des files d'attente de tâches, des systèmes de classement, et bien plus encore. La bibliothèque est conçue pour la nature asynchrone de Node.js, supportant pleinement les Promises et async/await, ce qui rend le code propre et prévisible.
L'avantage clé d'ioredis par rapport à d'autres clients (comme l'ancien node_redis) est le support intégré des clusters Redis et Sentinel, ainsi que la reconnexion automatique. La bibliothèque est activement maintenue par la communauté, dispose d'une documentation détaillée et est utilisée en production par des milliers d'entreprises dans le monde. Elle convient aussi bien aux scripts simples qu'aux systèmes distribués à forte charge.
Installation
L'installation de la bibliothèque ioredis se fait via le gestionnaire de paquets npm (Node Package Manager). Assurez-vous d'avoir Node.js (version 12 ou supérieure) et npm installés.
npm install ioredis
Si vous utilisez yarn, la commande est la suivante :
yarn add ioredis
Après l'installation, la bibliothèque est disponible pour l'importation dans votre projet. Vous aurez également besoin d'un serveur Redis en cours d'exécution. Si vous n'en avez pas, vous pouvez l'installer localement ou utiliser Docker :
docker run -d --name redis-stack -p 6379:6379 redis/redis-stack-server:latest
Démarrage rapide
Créez un fichier app.js et écrivez le code minimal suivant qui se connecte à Redis, enregistre une valeur et la lit.
// Import de la bibliothèque ioredis
const Redis = require('ioredis');
// Création d'un nouveau client. Par défaut, se connecte à localhost:6379
const redis = new Redis();
// Fonction asynchrone pour démontrer le fonctionnement
async function quickStart() {
try {
// Définit la clé 'name' avec la valeur 'Utilisateur PythonLib'
await redis.set('name', 'Utilisateur PythonLib');
console.log('La clé "name" a été définie.');
// Récupère la valeur de la clé 'name'
const result = await redis.get('name');
console.log(`Valeur de la clé "name" : ${result}`);
// Vérifie si la clé existe
const exists = await redis.exists('name');
console.log(`La clé "name" existe : ${exists === 1}`);
// Ferme la connexion
redis.quit();
} catch (error) {
console.error('Erreur :', error);
redis.quit();
}
}
quickStart();
Exécutez le script : node app.js. Vous devriez voir dans la console des messages confirmant la définition et la lecture de la clé. Cet exemple de base montre à quel point il est simple de commencer avec ioredis.
Méthodes et classes principales
ioredis fournit des dizaines de méthodes correspondant aux commandes Redis. Voici 8 des méthodes les plus couramment utilisées, avec une description détaillée et des exemples.
1. set(key, value, ...args)
Signature : redis.set(key: string, value: string | number | Buff
Aussi dans la bibliothèque
Mongoose Paginate JavaScript (Node.js) : guide complet avec exemples
ORM pour TypeScript : comparaison de TypeORM, Prisma et MikroORM