執行環境套件管理器打包器測試執行器程式碼檢查格式化指南參考部落格意見回饋

使用 Bun 連線 Upstash Redis

Upstash 是一項完全託管的 Redis 資料庫服務。它相容 Redis® API,因此你可以使用 Bun 原生的 Redis 客戶端進行連線。


  1. 建立一個新專案

    使用 bun init 建立一個新專案:

    terminal
    bun init bun-upstash-redis
    cd bun-upstash-redis
    
  2. 建立一個 Upstash Redis 資料庫

    訪問 Upstash 控制台 並建立一個新的 Redis 資料庫。完成快速入門指南後,你會看到資料庫頁面及其連線資訊。

    資料庫頁面會顯示兩種連線方式:HTTP 和 TLS。對於 Bun 的 Redis 客戶端,你需要使用 TLS 連線資訊;URL 以 rediss:// 開頭。

    Upstash Redis 資料庫頁面

  3. 使用 Bun 的 Redis 客戶端進行連線

    在 .env 檔案中使用 Redis 終端節點(而不是 REST URL)設定 REDIS_URL 環境變數:

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

    Bun 的 Redis 客戶端預設從 REDIS_URL 讀取連線資訊:

    index.ts
    import { redis } from "bun";
    
    // 自動讀取 process.env.REDIS_URL
    await redis.set("counter", "0"); // [!code ++]
    

    或者,使用 RedisClient 建立自定義客戶端:

    index.ts
    import { RedisClient } from "bun";
    
    const redis = new RedisClient(process.env.REDIS_URL); // [!code ++]
    
  4. 使用 Redis 客戶端

    使用 Redis 客戶端讀取和寫入 Upstash 資料庫中的鍵:

    index.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);
    
    Text
    1
    

    Redis 客戶端會自動處理連線。對於基本操作,你無需手動連線或斷開連線。