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 控制台](https://console.upstash.com/) 創建一個新的 Redis 數據庫。完成 [入門指南](https://upstash.com/docs/redis/overall/getstarted) 後,你將看到帶有連接信息的數據庫頁面。
數據庫頁面顯示兩種連接方式:HTTP 和 TLS。對於 Bun 的 Redis 客戶端,你需要 **TLS** 連接詳情。此 URL 以 `rediss://` 開頭。
<Frame>

</Frame>
使用 Bun 的 Redis 客戶端連接">
你可以通過設置環境變量與 Bun 的默認 `redis` 客戶端連接到 Upstash。
在 `.env` 文件中使用 Redis 端點(不是 REST URL)設置 `REDIS_URL` 環境變量:
```ini .env icon="settings"
REDIS_URL=rediss://********@********.upstash.io:6379
```
Bun 的 Redis 客戶端默認從 `REDIS_URL` 讀取連接信息:
```ts index.ts icon="/icons/typescript.svg"
import { redis } from "bun";
// 自動從 process.env.REDIS_URL 讀取
await redis.set("counter", "0"); // [!code ++]
```
或者,你可以使用 `RedisClient` 創建自定義客戶端:
```ts index.ts icon="/icons/typescript.svg"
import { RedisClient } from "bun";
const redis = new RedisClient(process.env.REDIS_URL); // [!code ++]
```
#### 使用 Redis 客戶端">
你現在可以使用 Redis 客戶端與你的 Upstash Redis 數據庫交互:
```ts index.ts icon="/icons/typescript.svg"
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 客戶端在後台自動處理連接。基本操作無需手動連接或斷開。