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 客户端在后台自动处理连接。基本操作无需手动连接或断开。