Skip to content

Upstash は、フルマネージドの Redis データベースサービスです。Upstash は Redis® API と連携するため、Bun のネイティブ Redis クライアントを使用して Upstash データベースに接続できます。

NOTE

すべての Upstash Redis データベースで TLS はデフォルトで有効になっています。

新しいプロジェクトを作成

bun init を実行して新しいプロジェクトを作成します。

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

Upstash Redis データベースを作成

Upstash ダッシュボード にアクセスして、新しい Redis データベースを作成します。スタートガイド を完了すると、接続情報が表示されるデータベースページに移動します。

データベースページには 2 つの接続方法(HTTP と TLS)が表示されます。Bun の Redis クライアントには TLS 接続の詳細が必要です。この URL は rediss:// で始まります。

Bun の Redis クライアントで接続

Bun のデフォルトの redis クライアントで環境変数を設定して Upstash に接続できます。

.env ファイルで Redis エンドポイント(REST URL ではない)を使用して REDIS_URL 環境変数を設定します。

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

Bun の Redis クライアントはデフォルトで 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 by www.bunjs.com.cn 編集