运行时包管理器打包器测试运行器代码检查格式化指南参考博客反馈

使用 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 客户端会自动处理连接。对于基本操作,你无需手动连接或断开连接。