# Redis

Source : https://webgune.cloud/de-de/docs/db-redis · Mis à jour le 2026-10-27

# Redis

Ein In-Memory-Store für alles, was schnell und flüchtig sein muss: Cache, Sessions, Warteschlangen, Pub/Sub.

## Verbindungszeichenfolge

```bash
REDIS_URL=redis://host:6379
# mit Passwort
REDIS_URL=redis://:password@host:6379
```

## ioredis (Node.js)

```typescript
import Redis from "ioredis";

const redis = new Redis(process.env.REDIS_URL!);

await redis.set("session:abc", JSON.stringify({ userId: 42 }), "EX", 3600);
const session = await redis.get("session:abc");
```

## Anwendungs-Cache

```typescript
async function getUser(id: string) {
  const cached = await redis.get(`user:${id}`);
  if (cached) return JSON.parse(cached);

  const user = await db.user.findUnique({ where: { id } });
  await redis.set(`user:${id}`, JSON.stringify(user), "EX", 300);
  return user;
}
```

## Leichte Warteschlange (Pub/Sub)

```typescript
// Producer
await redis.publish("jobs", JSON.stringify({ type: "send-email", to }));

// Consumer
const sub = new Redis(process.env.REDIS_URL!);
sub.subscribe("jobs");
sub.on("message", (_channel, payload) => handleJob(JSON.parse(payload)));
```

> Redis ist In-Memory. Ohne besondere Persistenz sollte ein Datum, das sich nirgendwo sonst neu erstellen lässt, niemals ausschließlich dort liegen: Eine Benutzersession lässt sich neu erzeugen, ein Kontostand nicht.
