Qu'est-ce que node-cache ?
node-cache est une bibliothèque légère pour la mise en cache interne des données dans les applications Node.js. Elle fonctionne comme un in-memory store (stockage en mémoire vive), permettant de sauvegarder temporairement les résultats de calculs, les réponses d'API ou les données de base de données, afin de ne pas exécuter à nouveau des opérations lourdes.
Pourquoi la mise en cache est-elle importante en JavaScript ?
La mise en cache est cruciale pour les performances. Sans elle, chaque requête au serveur peut entraîner des appels répétés à des services externes, des requêtes à la base de données ou des calculs complexes. node-cache résout ce problème en stockant les données en mémoire avec une durée de vie définie (TTL). Cela réduit la charge sur le serveur et diminue le temps de réponse de 2 à 5 fois pour les données fréquemment demandées.
Installation
Pour installer la bibliothèque, exécutez la commande à la racine de votre projet :
npm install node-cacheAprès l'installation, importez le module dans votre code :
const NodeCache = require('node-cache');Fonctions principales
- set(key, value, [ttl]) — enregistre une valeur pour une clé avec une durée de vie optionnelle en secondes.
- get(key) — retourne la valeur enregistrée ou undefined si la clé n'est pas trouvée ou a expiré.
- has(key) — vérifie l'existence d'une clé (retourne true/false).
- del(key) — supprime une ou plusieurs clés.
- flushAll() — vide tout le cache.
- keys() — retourne un tableau de toutes les clés actives.
- getStats() — statistiques : hits, misses, keys, ksize et vsize.
Exemple de code Node.js
const NodeCache = require('node-cache');const myCache = new NodeCache({ stdTTL: 600, checkperiod: 120 });
// Enregistrer des donnéesmyCache.set('user_123', { name: 'Alice', role: 'admin' }, 300);
// Récupérerconst user = myCache.get('user_123');if (user === undefined) { console.log('Cache vide, requête à la base de données');} else { console.log('Données du cache :', user);}
// Statistiquesconsole.log(myCache.getStats());// { hits: 1, misses: 0, keys: 1, ksize: 8, vsize: 32 }Quand utiliser node-cache ?
La bibliothèque est idéale pour :
- La mise en cache des réponses d'API — évitez les requêtes répétées à des services externes (par exemple, météo, taux de change).
- Les résultats de calculs lourds — enregistrez le résultat du traitement des données pendant 5 à 10 minutes.
- Les données de session — stockage temporaire de jetons ou de préférences utilisateur.
- Le cache intermédiaire entre microservices — réduction des appels réseau.
Important : node-cache ne convient pas aux systèmes distribués (fonctionne uniquement dans la mémoire d'un seul processus). Pour un cache distribué, utilisez Redis ou Memcached.
Conclusion
node-cache est une solution minimaliste et fiable pour la mise en cache in-memory dans Node.js. Elle ne nécessite pas de configuration de services externes, s'intègre facilement et accélère considérablement l'application. Commencez à l'utiliser dès aujourd'hui en ajoutant seulement quelques lignes de code.
Aussi dans la bibliothèque
Client Elasticsearch pour Rust : bibliothèque officielle elasticsearch-rs
Journalisation en Kotlin : meilleures bibliothèques et outils de développement
Travailler avec XML en Go (Golang) : le package encoding/xml et ses alternatives