# Redis

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

# Redis

Un almacén en memoria para todo lo que necesita ser rápido y transitorio: caché, sesiones, colas, pub/sub.

## Cadena de conexión

```bash
REDIS_URL=redis://host:6379
# con contraseña
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");
```

## Caché de aplicación

```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;
}
```

## Cola ligera (pub/sub)

```typescript
// productor
await redis.publish("jobs", JSON.stringify({ type: "send-email", to }));

// consumidor
const sub = new Redis(process.env.REDIS_URL!);
sub.subscribe("jobs");
sub.on("message", (_channel, payload) => handleJob(JSON.parse(payload)));
```

> Redis es en memoria. Sin persistencia particular, un dato que no pueda recrearse en otro lugar nunca debe vivir solo ahí: una sesión de usuario se puede regenerar, un saldo de cuenta no.
