跳转到内容
搜索文档

Cloudflare Workers KV

最后更新 查看 MarkdownAgent 设置

创建全局、低延迟的键值数据存储。

Available on Free and Paid plans

Workers KV 是一种数据存储,允许你全局存储和检索数据。使用 Workers KV,你可以构建支持高读取量、低延迟的动态高性能 API 和网站。

例如,你可以将 Workers KV 用于:

  • 缓存 API 响应。
  • 存储用户配置 / 偏好。
  • 存储用户身份验证详细信息。

从 Cloudflare Workers 使用 Workers Bindings(绑定) 访问 Workers KV 命名空间,或从外部应用使用 REST API:

export default {
	async fetch(request, env, ctx): Promise<Response> {
		// write a key-value pair
		await env.KV.put('KEY', 'VALUE');

		// read a key-value pair
		const value = await env.KV.get('KEY');

		// list all key-value pairs
		const allKeys = await env.KV.list();

		// delete a key-value pair
		await env.KV.delete('KEY');

		// return a Workers response
		return new Response(
			JSON.stringify({
				value: value,
				allKeys: allKeys,
			}),
		);
	},

} satisfies ExportedHandler<{ KV: KVNamespace }>;
{
	"$schema": "node_modules/wrangler/config-schema.json",
	"name": "<ENTER_WORKER_NAME>",
	"main": "src/index.ts",
	"compatibility_date": "2025-02-04",
	"observability": {
		"enabled": true
	},

	"kv_namespaces": [
		{
			"binding": "KV",
			"id": "<YOUR_BINDING_ID>"
		}
	]
}

请参阅完整的 Workers KV binding API 参考

curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/storage/kv/namespaces/$NAMESPACE_ID/values/$KEY_NAME \
		-X PUT \
		-H 'Content-Type: multipart/form-data' \
		-H "X-Auth-Email: $CLOUDFLARE_EMAIL" \
		-H "X-Auth-Key: $CLOUDFLARE_API_KEY" \
		-d '{
			"value": "Some Value"
		}'

curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/storage/kv/namespaces/$NAMESPACE_ID/values/$KEY_NAME \
		-H "X-Auth-Email: $CLOUDFLARE_EMAIL" \
		-H "X-Auth-Key: $CLOUDFLARE_API_KEY"
const client = new Cloudflare({
	apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted
	apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted
});

const value = await client.kv.namespaces.values.update('<KV_NAMESPACE_ID>', 'KEY', {
	account_id: '<ACCOUNT_ID>',
	value: 'VALUE',
});

const value = await client.kv.namespaces.values.get('<KV_NAMESPACE_ID>', 'KEY', {
	account_id: '<ACCOUNT_ID>',
});

const value = await client.kv.namespaces.values.delete('<KV_NAMESPACE_ID>', 'KEY', {
	account_id: '<ACCOUNT_ID>',
});

// Automatically fetches more pages as needed.
for await (const namespace of client.kv.namespaces.list({ account_id: '<ACCOUNT_ID>' })) {
	console.log(namespace.id);
}

有关从外部应用使用 REST API 的详细信息,请参阅完整的 Workers KV REST API 和 SDK 参考,其中包含适用于外部 TypeScript、Python 或 Go 应用的预生成 SDK。

快速入门

功能

键值存储

了解 Workers KV 如何存储和检索数据。

Wrangler

Workers 命令行接口 Wrangler 允许你创建测试部署 Workers 项目。

绑定(binding)

绑定(binding)允许 Workers 与 Cloudflare 开发者平台上的资源交互,包括 R2Durable ObjectsD1


相关产品

R2

Cloudflare R2 Storage 允许开发者存储大量非结构化数据,而无需支付典型云存储服务相关的高昂出口带宽费用。

Durable Objects

Cloudflare Durable Objects 允许开发者访问可扩展的计算和永久、一致的存储。

D1

D1 基于 SQLite 构建,是 Cloudflare 首个可查询的关系型数据库。通过导入数据或在 Worker 或 API 中定义表和编写查询来创建完整数据库。


更多资源

Discord

提问、展示你正在构建的内容,并与其他开发者讨论平台。

Twitter

了解产品公告、新教程以及 Cloudflare Developer Platform 的新功能。

这篇文档对您有帮助吗?