Skip to main content
Upstash 是一个完全托管的 Redis 数据库即服务。Upstash 兼容 Redis® API,这意味着你可以使用 Bun 的原生 Redis 客户端连接你的 Upstash 数据库。
所有 Upstash Redis 数据库默认启用 TLS。

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 客户端连接

你可以通过设置环境变量,使用 Bun 默认的 redis 客户端连接 Upstash。在你的 .env 文件中设置 REDIS_URL 环境变量,使用 Redis 端点(不是 REST URL):
.env
REDIS_URL=rediss://********@********.upstash.io:6379
Bun 的 Redis 客户端默认从 REDIS_URL 读取连接信息:
https://mintcdn.com/ikxin/RzFFGbzo0-4huILA/icons/typescript.svg?fit=max&auto=format&n=RzFFGbzo0-4huILA&q=85&s=a3dffd2241f05776d3bd25171d0c5a79index.ts
import { redis } from "bun";

// 自动读取 process.env.REDIS_URL
await redis.set("counter", "0"); 
另外,你也可以通过 RedisClient 创建自定义客户端:
https://mintcdn.com/ikxin/RzFFGbzo0-4huILA/icons/typescript.svg?fit=max&auto=format&n=RzFFGbzo0-4huILA&q=85&s=a3dffd2241f05776d3bd25171d0c5a79index.ts
import { RedisClient } from "bun";

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

使用 Redis 客户端

现在你可以使用 Redis 客户端与 Upstash Redis 数据库交互:
https://mintcdn.com/ikxin/RzFFGbzo0-4huILA/icons/typescript.svg?fit=max&auto=format&n=RzFFGbzo0-4huILA&q=85&s=a3dffd2241f05776d3bd25171d0c5a79index.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);
1
Redis 客户端会自动在后台管理连接,无需手动连接或断开即可执行基本操作。