Caching Layer Redis Implementation

Caching Layer Redis Implementation

Ein Caching Layer ist ein wichtiger Bestandteil einer modernen Webanwendung, da er die Leistung verbessern und die Last auf den Hauptdatenspeicher reduzieren kann. In diesem Artikel werden wir eine Implementierung eines Caching Layers mit Redis betrachten.

Vorbereitung

https://nowwincasinos.com.de/de-de/ Bevor wir beginnen, benötigen wir ein paar Dinge:

  • Eine aktuelle Version von Node.js installiert
  • Ein Redis-Server installiert und konfiguriert (für diesen Artikel nehmen wir an, dass Sie bereits wissen, wie man Redis installiert)
  • Ein leeres Projekt mit npm init initialisiert

Wir werden in diesem Beispiel die Bibliothek redis verwenden, um eine Verbindung zum Redis-Server herzustellen.

  npm install redis  

Caching Layer Funktionalität

Ein Caching Layer sollte folgende Funktionen erfüllen:

  • Daten speichern und abrufen
  • Zeitlimit für den Cache setzen (d.h. nach einer bestimmten Zeit müssen die Daten im Cache gelöscht werden)
  • Evtl. weitere Funktionalitäten wie Lese- oder Schreibschutz

Wir beginnen mit der Implementierung eines Caching Layers, das nur die grundlegenden Funktionen bietet.

  const redis = require('redis'); class CachingLayer { constructor(redisClient) { this.redisClient = redisClient; } async store(key, value) { await this.redisClient.set(key, value); } async get(key) { return await this.redisClient.get(key); } } module.exports = CachingLayer;  

Zeitlimit für den Cache

Um ein Zeitlimit für den Cache zu setzen, können wir die Funktion TTL (Time To Live) von Redis verwenden.

  class CachingLayer { // ... async setTtl(key, ttl) { await this.redisClient.expire(key, ttl); } }  

Weitere Funktionalitäten

Evtl. möchten wir noch weitere Funktionen wie Lese- oder Schreibschutz implementieren.

  class CachingLayer { // ... async lock(key) { return await this.redisClient.set(key, 'locked', 'NX', 'EX', 30); } async unlock(key) { return await this.redisClient.del(key); } }  

Beispielanwendung

Nun können wir ein Beispiel sehen, wie unser Caching Layer verwendet werden kann.

  const redis = require('redis'); const cachingLayer = new CachingLayer(redis.createClient()); // Daten speichern cachingLayer.store('key', 'wert'); // Daten abrufen console.log(await cachingLayer.get('key')); // wert // Zeitlimit setzen cachingLayer.setTtl('key', 30); // Daten werden nach 30 Sekunden gelöscht // Lese- oder Schreibschutz implementieren (evt.) await cachingLayer.lock('key');  

Schlusswort

Ein Caching Layer ist ein wichtiger Bestandteil einer modernen Webanwendung. Durch die Implementierung eines Caching Layers können wir die Leistung verbessern und die Last auf den Hauptdatenspeicher reduzieren.

In diesem Artikel haben wir eine grundlegende Implementierung eines Caching Layers mit Redis gezeigt. Wir hoffen, dass dies Ihnen geholfen hat, ein besseres Verständnis für das Thema zu erlangen.

Shopping Cart