Skip to content

Upstash é um banco de dados Redis totalmente gerenciado como serviço. Upstash funciona com a API Redis®, o que significa que você pode usar o cliente Redis nativo do Bun para conectar ao seu banco de dados Upstash.

NOTE

TLS está habilitado por padrão para todos os bancos de dados Upstash Redis.

Criar um novo projeto

Crie um novo projeto executando bun init:

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

Criar um banco de dados Upstash Redis

Acesse o dashboard do Upstash e crie um novo banco de dados Redis. Após completar o guia de introdução, você verá a página do seu banco de dados com informações de conexão.

A página do banco de dados exibe dois métodos de conexão: HTTP e TLS. Para o cliente Redis do Bun, você precisa dos detalhes de conexão TLS. Esta URL começa com rediss://.

Conectar usando o cliente Redis do Bun

Você pode conectar ao Upstash definindo variáveis de ambiente com o cliente redis padrão do Bun.

Defina a variável de ambiente REDIS_URL no seu arquivo .env usando o endpoint Redis (não a URL REST):

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

O cliente Redis do Bun lê as informações de conexão de REDIS_URL por padrão:

ts
import { redis } from "bun";

// Lê de process.env.REDIS_URL automaticamente
await redis.set("counter", "0"); 

Alternativamente, você pode criar um cliente personalizado usando RedisClient:

ts
import { RedisClient } from "bun";

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

Usar o cliente Redis

Agora você pode usar o cliente Redis para interagir com seu banco de dados Upstash Redis:

ts
import { redis } from "bun";

// Obter um valor
let counter = await redis.get("counter");

// Definir um valor se não existir
if (!counter) {
  await redis.set("counter", "0");
}

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

// Obter o valor atualizado
counter = await redis.get("counter");
console.log(counter);
txt
1

O cliente Redis gerencia conexões automaticamente em segundo plano. Não é necessário conectar ou desconectar manualmente para operações básicas.

Bun by www.bunjs.com.cn edit