Heim > Web-Frontend > js-Tutorial > Einführung von keyv-upstash: Nahtloser Schlüsselwertspeicher für serverlose Redis

Einführung von keyv-upstash: Nahtloser Schlüsselwertspeicher für serverlose Redis

Barbara Streisand
Freigeben: 2024-12-26 14:45:10
Original
442 Leute haben es durchsucht

Introducing keyv-upstash: Seamless Key-Value Storage for Serverless Redis

Github: https://github.com/mahdavipanah/keyv-upstash

keyv-upstash ist ein Speicheradapter für Keyv, der es mit Upstash Redis, einer serverlosen Redis-Plattform, verbindet. Mit diesem Adapter erhalten Sie eine einfache, effiziente und flexible Lösung für die Schlüsselwertspeicherung in serverlosen Anwendungen.

Was ist Keyv?

Keyv ist eine vielseitige Schlüsselwert-Speicherbibliothek, die über Adapter mehrere Backends unterstützt. Es bietet:

  • TTL-basierter Ablauf: Ideal für Caching oder dauerhafte Speicherung.

  • Namespace-Unterstützung: Vermeidet Schlüsselkollisionen in gemeinsam genutzten Umgebungen.

  • Erweiterbarkeit: Einfache Erstellung benutzerdefinierter Module oder das Hinzufügen von Funktionen wie Komprimierung.

Keyv funktioniert mit vielen Adaptern, wie Redis, SQLite, MongoDB und jetzt keyv-upstash für Upstash Redis.


Warum keyv-upstash?

keyv-upstash erweitert die Funktionen von Keyv durch die Integration mit Upstash Redis und bietet:

  1. Serverlose Kompatibilität: Upstash Redis funktioniert ohne Verbindungsverwaltung, skaliert automatisch, perfekt für serverlose Apps.

  2. Flexibel: Kompatibel mit dem Ökosystem von Keyv und unterstützt Erweiterungen von Drittanbietern.

  3. Cache Layering: Kombinieren Sie es mit Cacheable für mehrschichtiges Caching.

  4. Keine Anbieterbindung: Ist vollständig kompatibel mit serverless-redis-http, sodass Sie Ihr eigenes serverloses Redis einrichten und diesen Adapter damit verwenden können.


Erste Schritte

Folgen Sie diesen Schritten, um keyv-upstash zu integrieren:

1. Installieren Sie Keyv und keyv-upstash

Installieren Sie Keyv und den Upstash-Adapter:

npm install keyv keyv-upstash
Nach dem Login kopieren

Optional: Installieren Sie Cacheable für mehrschichtiges Caching:

npm install cacheable
Nach dem Login kopieren

2. Richten Sie keyv-upstash ein

Stellen Sie sicher, dass Sie eine Redis-Datenbank in Upstash erstellt haben. So verwenden Sie keyv-upstash in Ihrem Projekt:

Grundlegende Verwendung

import Keyv from 'keyv';
import { KeyvUpstash } from 'keyv-upstash';

const keyv = new Keyv({
  store: new KeyvUpstash({
    url: 'your-upstash-redis-url',
    token: 'your-upstash-redis-token',
  }),
});

// Set a key-value pair
await keyv.set('foo', 'bar');

// Retrieve the value
const value = await keyv.get('foo');
console.log(value); // 'bar'
Nach dem Login kopieren

Verwendung von Namespaces

Namespaces verhindern Schlüsselkollisionen und ermöglichen eine bereichsbezogene Löschung:

const keyv = new Keyv({
  store: new KeyvUpstash({
    url: 'your-upstash-redis-url',
    token: 'your-upstash-redis-token',
    namespace: 'my-namespace',
  }),
});

await keyv.set('foo', 'bar'); // Stored as 'my-namespace::foo'
Nach dem Login kopieren

Cache-Layering mit Cacheable

Kombinieren Sie keyv-upstash mit Cacheable für mehrschichtiges Caching:

import { Cacheable } from 'cacheable';

const redisStore = new KeyvUpstash({
  url: 'your-upstash-redis-url',
  token: 'your-upstash-redis-token',
});

const cache = new Cacheable({
  primary: new Map(), // Fast in-memory caching
  secondary: redisStore, // Persistent Redis caching
});

await cache.set('foo', 'bar', { ttl: 1000 }); // Stores in both layers
const value = await cache.get('foo'); // Fast lookup from memory or Redis
console.log(value); // 'bar'
Nach dem Login kopieren

Erweiterte Funktionen

Batch-Operationen

Verbessern Sie die Leistung mit setMany und getMany:

await keyv.setMany([
  { key: 'key1', value: 'value1' },
  { key: 'key2', value: 'value2' },
]);

const values = await keyv.getMany(['key1', 'key2']);
console.log(values); // ['value1', 'value2']
Nach dem Login kopieren

Benutzerdefinierte Konfiguration

Passen Sie Ihr Setup mit Optionen wie defaultTtl, keyPrefixSeparator und clearBatchSize an.

Das obige ist der detaillierte Inhalt vonEinführung von keyv-upstash: Nahtloser Schlüsselwertspeicher für serverlose Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage