概述
边缘计算可在用户近端进行缓存与计算。Workers结合KV与Durable Objects管理轻量状态, 配合TTL与路由控制, 提升响应速度与可靠性。
关键实践与参数
- 缓存层: `caches.default` 命中与TTL
- KV存储: 读取与写入轻量键值
- Durable Objects: 有状态对象与并发控制
- 路由: 按路径或域名映射到Worker
示例/配置/实现
export default {
async fetch(req, env) {
const url = new URL(req.url)
const cache = caches.default
const cached = await cache.match(req)
if (cached) return cached
if (url.pathname.startsWith('/kv')) {
const v = await env.APP_KV.get(url.searchParams.get('key'))
return new Response(v || '', { headers: { 'Cache-Control': 'public, max-age=60' } })
}
const resp = await fetch('https://api.example.com/data')
const cacheResp = new Response(await resp.text(), { headers: { 'Cache-Control': 'public, max-age=120' } })
await cache.put(req, cacheResp.clone())
return cacheResp
}
}
export class Counter {
constructor(state) { this.state = state }
async fetch(req) {
const v = (await this.state.storage.get('n')) || 0
const n = v + 1
await this.state.storage.put('n', n)
return new Response(String(n))
}
}
验证
- 缓存命中: 连续访问相同路径返回命中, TTL到期后回源
- KV读写: 读取与写入键值成功, 延迟低
- DO状态: 多次访问计数递增, 并发下状态一致
- 路由: 不同路径映射到不同逻辑分支
注意事项
- KV与DO有一致性与延迟限制, 需评估业务适用性
- 缓存策略需与源站头部协同
- 路由与绑定需在配置中正确声明
- 关注供应商配额与成本

发表评论 取消回复