Upstash ist eine vollständig verwaltete Redis-Datenbank als Service. Upstash funktioniert mit der Redis®-API, was bedeutet, dass Sie Buns nativen Redis-Client verwenden können, um eine Verbindung zu Ihrer Upstash-Datenbank herzustellen.
NOTE
TLS ist standardmäßig für alle Upstash Redis-Datenbanken aktiviert.Ein neues Projekt erstellen
Erstellen Sie ein neues Projekt, indem Sie bun init ausführen:
bun init bun-upstash-redis
cd bun-upstash-redisEine Upstash Redis-Datenbank erstellen
Gehen Sie zum Upstash-Dashboard und erstellen Sie eine neue Redis-Datenbank. Nach Abschluss des Erste-Schritte-Leitfadens sehen Sie Ihre Datenbankseite mit Verbindungsinformationen.
Die Datenbankseite zeigt zwei Verbindungsmethoden an: HTTP und TLS. Für Buns Redis-Client benötigen Sie die TLS-Verbindungsdetails. Diese URL beginnt mit rediss://.
Verbindung mit Buns Redis-Client herstellen
Sie können eine Verbindung zu Upstash herstellen, indem Sie Umgebungsvariablen mit Buns standardmäßigem redis-Client setzen.
Setzen Sie die REDIS_URL-Umgebungsvariable in Ihrer .env-Datei mit dem Redis-Endpunkt (nicht der REST-URL):
REDIS_URL=rediss://********@********.upstash.io:6379Buns Redis-Client liest Verbindungsinformationen standardmäßig aus REDIS_URL:
import { redis } from "bun";
// Reads from process.env.REDIS_URL automatically
await redis.set("counter", "0"); Alternativ können Sie einen benutzerdefinierten Client mit RedisClient erstellen:
import { RedisClient } from "bun";
const redis = new RedisClient(process.env.REDIS_URL); Den Redis-Client verwenden
Sie können jetzt den Redis-Client verwenden, um mit Ihrer Upstash Redis-Datenbank zu interagieren:
import { redis } from "bun";
// Get a value
let counter = await redis.get("counter");
// Set a value if it doesn't exist
if (!counter) {
await redis.set("counter", "0");
}
// Increment the counter
await redis.incr("counter");
// Get the updated value
counter = await redis.get("counter");
console.log(counter);1Der Redis-Client verarbeitet Verbindungen automatisch im Hintergrund. Für grundlegende Operationen ist kein manuelles Verbinden oder Trennen erforderlich.