You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cloudflare Worker中导入KV模块并执行读写操作?

正确使用Cloudflare Worker KV的导入与读写方法(Wrangler v3)

你尝试的几种导入方式都不对——在Wrangler v3版本中,Cloudflare Worker KV不需要通过第三方包或特殊模块导入,而是通过环境绑定直接访问。以下是完整的配置和使用步骤:

1. 创建KV命名空间并绑定到Worker

首先需要在Wrangler中创建KV命名空间,并将其绑定到你的Worker:

  • 执行命令创建KV命名空间:
    wrangler kv:namespace create "MY_KV"
    
    执行后会得到类似如下的输出,记录其中的id和preview_id:
    ⛅️ wrangler 3.78.12
    --------------------
    Successfully created namespace with id: <你的KV命名空间ID>
    Add the following to your wrangler.toml:
    [[kv_namespaces]]
    binding = "MY_KV"
    id = "<你的KV命名空间ID>"
    preview_id = "<预览环境ID>"
    
  • 打开你的wrangler.toml文件,将上述配置粘贴进去,保存。

2. Worker中直接使用KV进行读写

绑定完成后,不需要任何导入语句,直接通过env对象访问绑定的KV变量(就是wrangler.toml里的binding值,比如MY_KV):

export default {
  async fetch(request, env, ctx) {
    // 写入KV:put(key, value, 可选配置)
    await env.MY_KV.put('username', 'zhangsan', {
      expirationTtl: 86400 // 可选:设置过期时间,单位秒,这里是1天
    });

    // 读取KV:get(key)
    const username = await env.MY_KV.get('username');

    // 也可以读取为JSON格式
    // const userInfo = await env.MY_KV.get('user_info', { type: 'json' });

    return new Response(`读取到用户名:${username}`);
  }
};

额外注意事项

  • 绑定的变量名(比如MY_KV)要和wrangler.toml中的binding字段完全一致,大小写敏感
  • 本地测试时,执行wrangler dev即可自动加载绑定配置,无需额外操作
  • 如果需要在其他函数中使用KV,只需把env对象传递过去即可:
    async function saveUser(env, userId, userData) {
      await env.MY_KV.put(`user_${userId}`, JSON.stringify(userData));
    }
    

内容的提问来源于stack exchange,提问作者Frequent Potato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 21:33:12