Upstash — это полностью управляемая база данных Redis как услуга. Upstash работает с API Redis®, что означает, что вы можете использовать нативный Redis клиент Bun для подключения к вашей базе данных Upstash.
NOTE
TLS включён по умолчанию для всех баз данных Upstash Redis.Создание нового проекта
Создайте новый проект, выполнив bun init:
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):
REDIS_URL=rediss://********@********.upstash.io:6379Redis клиент Bun считывает информацию о подключении из REDIS_URL по умолчанию:
import { redis } from "bun";
// Автоматически считывает из process.env.REDIS_URL
await redis.set("counter", "0"); Альтернативно, вы можете создать пользовательский клиент, используя RedisClient:
import { RedisClient } from "bun";
const redis = new RedisClient(process.env.REDIS_URL); Использование Redis клиента
Теперь вы можете использовать Redis клиент для взаимодействия с вашей базой данных Upstash Redis:
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);1Redis клиент автоматически обрабатывает подключения в фоновом режиме. Нет необходимости вручную подключаться или отключаться для базовых операций.