Skip to content

Upstash es una base de datos Redis totalmente gestionada como servicio. Upstash funciona con la API de Redis®, lo que significa que puedes usar el cliente Redis nativo de Bun para conectarte a tu base de datos Upstash.

NOTE

TLS está habilitado por defecto para todas las bases de datos Upstash Redis.

Crear un nuevo proyecto

Crea un nuevo proyecto ejecutando `bun init`:

```sh
bun init bun-upstash-redis
cd bun-upstash-redis
```

Crear una base de datos Upstash Redis

Ve al [panel de Upstash](https://console.upstash.com/) y crea una nueva base de datos Redis. Después de completar la [guía de inicio](https://upstash.com/docs/redis/overall/getstarted), verás la página de tu base de datos con información de conexión.

La página de la base de datos muestra dos métodos de conexión; HTTP y TLS. Para el cliente Redis de Bun, necesitas los detalles de conexión **TLS**. Esta URL comienza con `rediss://`.

	<Frame>
		![Página de base de datos Upstash Redis](/images/guides/upstash-1.png)
	</Frame>

Conectar usando el cliente Redis de Bun

	Puedes conectarte a Upstash configurando variables de entorno con el cliente `redis` predeterminado de Bun.

Establece la variable de entorno `REDIS_URL` en tu archivo `.env` usando el endpoint de Redis (no la URL REST):

```ini .env
REDIS_URL=rediss://********@********.upstash.io:6379
```

El cliente Redis de Bun lee la información de conexión de `REDIS_URL` por defecto:

```ts index.ts
import { redis } from "bun";

// Lee de process.env.REDIS_URL automáticamente
await redis.set("counter", "0");
```

Alternativamente, puedes crear un cliente personalizado usando `RedisClient`:

```ts index.ts
import { RedisClient } from "bun";

const redis = new RedisClient(process.env.REDIS_URL);
```


#### Usar el cliente Redis

	Ahora puedes usar el cliente Redis para interactuar con tu base de datos Upstash Redis:

	```ts index.ts
	import { redis } from "bun";

	// Obtener un valor
	let counter = await redis.get("counter");

	// Establecer un valor si no existe
	if (!counter) {
		await redis.set("counter", "0");
	}

	// Incrementar el contador
	await redis.incr("counter");

	// Obtener el valor actualizado
	counter = await redis.get("counter");
	console.log(counter);
	```
	```txt
	1
	```

	El cliente Redis maneja las conexiones automáticamente en segundo plano. No es necesario conectar o desconectar manualmente para operaciones básicas.

Bun por www.bunjs.com.cn editar