Was ist node-cache?
node-cache ist eine leichtgewichtige Bibliothek für das interne Caching von Daten in Node.js-Anwendungen. Sie funktioniert als In-Memory-Store (Speicher im Arbeitsspeicher) und ermöglicht es, Berechnungsergebnisse, API-Antworten oder Daten aus der Datenbank temporär zu speichern, um aufwändige Operationen nicht wiederholt ausführen zu müssen.
Warum ist Caching in JavaScript wichtig?
Caching ist entscheidend für die Leistung. Ohne Caching kann jede Serveranfrage zu wiederholten Aufrufen externer Dienste, Datenbankabfragen oder komplexen Berechnungen führen. node-cache löst dieses Problem, indem es Daten mit einer festgelegten Lebensdauer (TTL) im Speicher hält. Dies reduziert die Serverlast und verkürzt die Antwortzeit für häufig angefragte Daten um das 2- bis 5-fache.
Installation
Führen Sie den folgenden Befehl im Stammverzeichnis Ihres Projekts aus, um die Bibliothek zu installieren:
npm install node-cacheNach der Installation binden Sie das Modul in Ihren Code ein:
const NodeCache = require('node-cache');Hauptfunktionen
- set(key, value, [ttl]) — Speichert einen Wert unter einem Schlüssel mit optionaler Lebensdauer in Sekunden.
- get(key) — Gibt den gespeicherten Wert oder undefined zurück, wenn der Schlüssel nicht gefunden wurde oder abgelaufen ist.
- has(key) — Prüft, ob ein Schlüssel existiert (gibt true/false zurück).
- del(key) — Löscht einen oder mehrere Schlüssel.
- flushAll() — Leert den gesamten Cache.
- keys() — Gibt ein Array aller aktiven Schlüssel zurück.
- getStats() — Statistiken: hits, misses, keys, ksize und vsize.
Codebeispiel in Node.js
const NodeCache = require('node-cache');const myCache = new NodeCache({ stdTTL: 600, checkperiod: 120 });
// Daten speichernmyCache.set('user_123', { name: 'Alice', role: 'admin' }, 300);
// Abrufenconst user = myCache.get('user_123');if (user === undefined) { console.log('Cache leer, Daten aus der DB anfragen');} else { console.log('Daten aus dem Cache:', user);}
// Statistikenconsole.log(myCache.getStats());// { hits: 1, misses: 0, keys: 1, ksize: 8, vsize: 32 }Wann sollte man node-cache verwenden?
Die Bibliothek ist ideal für:
- Caching von API-Antworten — Vermeiden Sie wiederholte Anfragen an externe Dienste (z. B. Wetter, Wechselkurse).
- Ergebnisse aufwändiger Berechnungen — Speichern Sie Datenverarbeitungsergebnisse für 5–10 Minuten zwischen.
- Sitzungsdaten — Temporäre Speicherung von Tokens oder Benutzereinstellungen.
- Zwischencache zwischen Microservices — Reduzierung von Netzwerkaufrufen.
Wichtig: node-cache ist nicht für verteilte Systeme geeignet (funktioniert nur im Speicher eines einzelnen Prozesses). Für verteiltes Caching verwenden Sie Redis oder Memcached.
Fazit
node-cache ist eine minimalistische und zuverlässige Lösung für In-Memory-Caching in Node.js. Es erfordert keine Einrichtung externer Dienste, lässt sich leicht integrieren und beschleunigt Ihre Anwendung erheblich. Beginnen Sie noch heute damit, indem Sie nur ein paar Zeilen Code hinzufügen.
Auch in der Bibliothek
WebSocket-Bibliothek Swift: Starscream für iOS/macOS
OAuth-Client für PHP: Integration mit Google, GitHub und VK
Konfiguration von C#-Anwendungen (.NET): Microsoft.Extensions.Configuration
Arbeiten mit CSV in PHP: Lesen, Schreiben und Verarbeiten von Daten