panda-99.com
Open in
urlscan Pro
2606:4700:3037::6815:3b5
Public Scan
URL:
https://panda-99.com/posts/workerkvdemo/
Submission Tags: @ecarlesi possiblethreat phishing Search All
Submission: On December 27 via api from IT — Scanned from IT
Submission Tags: @ecarlesi possiblethreat phishing Search All
Submission: On December 27 via api from IT — Scanned from IT
Form analysis
0 forms found in the DOMText Content
本站使用 Cookies 来改善您的浏览体验。 了解更多 同意 潘达久久panda99 * 文章 * 分类 * 合集 * 标签 * 关于我 * 留言 * * * * * 没有更多翻译 潘达久久panda99 * 取消 * 文章 * 分类 * 合集 * 标签 * 关于我 * 留言 * 简体中文 没有更多翻译 CLOUDFLARE WORKERS 读取和更新 KV 存储中的数据 Cloudflare Workers 结合 KV 存储实现数据读取和更新 潘达久久panda99 收录于 建站相关 2024-12-25 2024-12-27 约 400 字 预计阅读 2 分钟 4 次阅读 目录 本文完整展示如何在 Workers 中读取和更新 KV 数据。 前言 Cloudflare Workers 是一种强大的边缘计算工具,可以快速实现无服务器应用的构建。结合 Cloudflare KV 存储(Key-Value Store),你可以高效地处理分布式数据存储和读取。 -------------------------------------------------------------------------------- 案例 : 用 KV 存储用户访问量并计数 场景简介 假设我们需要记录每个用户的访问量,每次访问时: 1. 从 KV 中读取用户的访问量。 2. 如果用户不存在,初始化计数为 1。 3. 如果用户已存在,计数加 1。 4. 将新的计数保存到 KV,并返回前端。 实现步骤 1. 确保 KV 命名空间存在 创建一个新的 KV 命名空间,例如 USER_VISITS。 在 wrangler.toml 中添加绑定配置: 1 2 3 kv_namespaces = [ { binding = "USER_VISITS", id = "你的KV命名空间ID" } ] 2. 编写 WORKER 代码 以下代码展示如何在每次访问时更新并返回用户访问量: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 export default { async fetch(request, env) { // 获取用户ID (从查询参数中读取) const url = new URL(request.url); const userId = url.searchParams.get("user_id"); if (!userId) { return new Response( JSON.stringify({ error: "Missing user_id parameter" }), { status: 400, headers: { "Content-Type": "application/json" } } ); } try { // 从 KV 存储中读取用户访问量 let visits = await env.USER_VISITS.get(userId); // 如果不存在,初始化访问量为 1 if (!visits) { visits = 1; } else { visits = parseInt(visits, 10) + 1; // 转为整数并加 1 } // 更新 KV 中的用户访问量 await env.USER_VISITS.put(userId, visits.toString()); // 返回新的访问量 return new Response( JSON.stringify({ user_id: userId, visits }), { status: 200, headers: { "Content-Type": "application/json" } } ); } catch (error) { return new Response( JSON.stringify({ error: "Failed to update visits", details: error.message }), { status: 500, headers: { "Content-Type": "application/json" } } ); } } }; 3. 上传和部署 发布你的 Worker: 1 npx wrangler deploy 4. 测试 WORKER 通过浏览器或命令行工具测试访问: 1. 第一次访问: 1 curl "https://你的子域.workers.dev/?user_id=user_123" 返回: 1 2 3 4 { "user_id": "user_123", "visits": 1 } 2. 第二次访问: 1 curl "https://你的子域.workers.dev/?user_id=user_123" 返回: 1 2 3 4 { "user_id": "user_123", "visits": 2 } KV 手动添加数据 如果需要预填数据,可以通过 wrangler CLI 添加,例如: 1 npx wrangler kv:key put --binding=USER_VISITS user_123 "5" 这会将 user_123 的访问量初始化为 5。 -------------------------------------------------------------------------------- 总结 使用 Cloudflare Workers 和 KV 存储,你可以轻松实现高效的分布式数据读取和写入。本案例展示了如何记录访问量以及动态更新 KV 数据,为构建轻量级分析系统或个性化功能提供了实用参考。 更新于 2024-12-27 CC BY-NC-SA 4.0 Cloudflare 返回 | 主页 狮城漫步 Please enable JavaScript to view the comments powered by giscus. 目录 * 前言 * 案例 : 用 KV 存储用户访问量并计数 * 场景简介 * 实现步骤 * 1. 确保 KV 命名空间存在 * 2. 编写 Worker 代码 * 3. 上传和部署 * 4. 测试 Worker * KV 手动添加数据 * 总结 2023 - 2024 潘达久久panda99CC BY-NC-SA 4.0 85221 0% 该网站在启用 JavaScript 的情况下效果最佳。