Skip to content

Upstash — это полностью управляемая база данных Redis как услуга. Upstash работает с API Redis®, что означает, что вы можете использовать нативный Redis клиент Bun для подключения к вашей базе данных Upstash.

NOTE

TLS включён по умолчанию для всех баз данных Upstash Redis.

Создание нового проекта

Создайте новый проект, выполнив bun init:

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

Создание базы данных Upstash Redis

Перейдите в панель управления Upstash и создайте новую базу данных Redis. После завершения руководства по началу работы, вы увидите страницу вашей базы данных с информацией о подключении.

Страница базы данных отображает два метода подключения: HTTP и TLS. Для Redis клиента Bun вам нужны детали подключения TLS. Этот URL начинается с rediss://.

Подключение с использованием Redis клиента Bun

Вы можете подключиться к Upstash, установив переменные окружения с Redis клиентом redis по умолчанию в Bun.

Установите переменную окружения REDIS_URL в вашем файле .env, используя конечную точку Redis (не REST URL):

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

Redis клиент Bun считывает информацию о подключении из REDIS_URL по умолчанию:

ts
import { redis } from "bun";

// Автоматически считывает из process.env.REDIS_URL
await redis.set("counter", "0"); 

Альтернативно, вы можете создать пользовательский клиент, используя RedisClient:

ts
import { RedisClient } from "bun";

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

Использование Redis клиента

Теперь вы можете использовать Redis клиент для взаимодействия с вашей базой данных Upstash Redis:

ts
import { redis } from "bun";

// Получить значение
let counter = await redis.get("counter");

// Установить значение, если оно не существует
if (!counter) {
	await redis.set("counter", "0");
}

// Инкрементировать счётчик
await redis.incr("counter");

// Получить обновлённое значение
counter = await redis.get("counter");
console.log(counter);
txt
1

Redis клиент автоматически обрабатывает подключения в фоновом режиме. Нет необходимости вручную подключаться или отключаться для базовых операций.

Bun от www.bunjs.com.cn