Heim  >  Artikel  >  Datenbank  >  Anwendung von Redis in der JavaScript-Entwicklung: So implementieren Sie Daten-Caching

Anwendung von Redis in der JavaScript-Entwicklung: So implementieren Sie Daten-Caching

王林
王林Original
2023-07-29 09:33:201117Durchsuche

Anwendung von Redis in der JavaScript-Entwicklung: So implementieren Sie Daten-Caching

Einführung:
In der JavaScript-Entwicklung ist Daten-Caching ein sehr wichtiges Konzept. Es verbessert die Anwendungsleistung und Reaktionsfähigkeit und reduziert die Anzahl der Anfragen an den Server. Redis (Remote Dictionary Server) ist eine Open-Source-In-Memory-Datenbank, die zum Daten-Caching in Hochleistungsanwendungen verwendet werden kann. In diesem Artikel wird die Anwendung von Redis in der JavaScript-Entwicklung vorgestellt und anhand von Codebeispielen gezeigt, wie das Daten-Caching implementiert wird.

Inhaltstext:

Redis ist ein speicherbasiertes Datenspeichersystem, das Daten in den Speicher laden kann, um die Zugriffsgeschwindigkeit zu verbessern. Es bietet umfangreiche Datenstrukturen und Befehle zur Implementierung des Datencachings in der JavaScript-Entwicklung.

Zuerst müssen wir die Redis-Clientbibliothek in das JavaScript-Projekt einführen. Eine häufig verwendete Redis-Clientbibliothek ist ioredis, die eine umfangreiche API für die Interaktion mit Redis bereitstellt. Die ioredis-Bibliothek kann über npm installiert werden:

npm install ioredis

Nach Abschluss der Installation führen Sie die ioredis-Bibliothek in die JavaScript-Datei ein:

const Redis = require('ioredis');
const redis = new Redis();

Als nächstes können wir Redis zum Daten-Caching verwenden.

  1. Einzelner Datencache
    Wir können ein Datenelement in Redis speichern und die Ablaufzeit festlegen, um die Datenzwischenspeicherung zu erreichen. Das Folgende ist ein Beispielcode:
async function getDataFromCache(key) {
  const cachedData = await redis.get(key);
  if (cachedData) {
    console.log('从缓存中获取数据');
    return JSON.parse(cachedData);
  }

  console.log('从数据库获取数据');
  const dataFromDB = await fetchDataFromDB(key);
  redis.set(key, JSON.stringify(dataFromDB), 'ex', 60);
  return dataFromDB;
}

async function fetchDataFromDB(key) {
  // 从数据库中获取数据的逻辑
}

// 使用方式:
const data = await getDataFromCache('exampleKey');

Im obigen Code prüfen wir zunächst, ob der angegebene Schlüssel in Redis vorhanden ist. Wenn er vorhanden ist, erhalten wir die Daten direkt aus dem Cache und geben sie zurück, wenn er nicht vorhanden ist. Wir holen die Daten aus der Datenbank und speichern sie in Redis. Außerdem wird die Ablaufzeit festgelegt. Auf diese Weise werden die Daten bei der nächsten Anforderung desselben Schlüssels direkt aus dem Redis-Cache abgerufen, ohne dass die Datenbank erneut abgefragt werden muss.

  1. Mehrere Datencaches
    Zusätzlich zum Zwischenspeichern einzelner Daten können wir auch mehrere Datenelemente in Redis speichern. Das Folgende ist ein Beispielcode:
async function getDataListFromCache(keys) {
  const cachedData = await redis.mget(keys);

  const nonCachedDataKeys = [];
  const dataMap = {};
  for (let i = 0; i < keys.length; i++) {
    const key = keys[i];
    const cachedDatum = cachedData[i];
    if (cachedDatum) {
      dataMap[key] = JSON.parse(cachedDatum);
    } else {
      nonCachedDataKeys.push(key);
    }
  }

  if (nonCachedDataKeys.length > 0) {
    console.log('从数据库获取数据');
    const dataFromDB = await fetchDataListFromDB(nonCachedDataKeys);
    for (const data of dataFromDB) {
      const key = data.key;
      redis.set(key, JSON.stringify(data), 'ex', 60);
      dataMap[key] = data;
    }
  }

  return keys.map(key => dataMap[key]);
}

async function fetchDataListFromDB(keys) {
  // 从数据库中批量获取数据的逻辑
}

// 使用方式:
const dataList = await getDataListFromCache(['key1', 'key2', 'key3']);

Im obigen Code erhalten wir zunächst über den Befehl mget die Daten, die mehreren Schlüsseln gleichzeitig entsprechen. Anschließend durchlaufen Sie die erhaltenen Daten, analysieren die (vorhandenen) Cache-Trefferdaten in Objekte und zeichnen die (nicht vorhandenen) Cache-Miss-Schlüssel auf. Anschließend werden Cache-Miss-Daten stapelweise aus der Datenbank abgerufen und in Redis gespeichert. Abschließend werden alle angeforderten Daten zurückgegeben.

Fazit:

Dieser Artikel stellt die Anwendung von Redis in der JavaScript-Entwicklung vor und zeigt anhand von Codebeispielen, wie Daten-Caching implementiert wird. Durch die Verwendung von Redis für das Daten-Caching können die Leistung und Reaktionsfähigkeit Ihrer Anwendung erheblich verbessert werden. Gleichzeitig kann Redis als leistungsstarke In-Memory-Datenbank auch erweiterte Funktionen wie Publish/Subscribe, Rankings usw. implementieren. Daher sollten wir in der JavaScript-Entwicklung gut darin sein, Redis zu verwenden, um die Anwendungsleistung und das Benutzererlebnis zu optimieren und zu verbessern.

Referenz:

  1. Offizielle Dokumentation vonioredis: https://github.com/luin/ioredis

Das obige ist der detaillierte Inhalt vonAnwendung von Redis in der JavaScript-Entwicklung: So implementieren Sie Daten-Caching. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn