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

维持缓存HTML交付时运行Cloudflare Workers的技术疑问

Cloudflare Workers 与缓存相关问题解答

问题1:路由配置的Workers能否与缓存命中操作“并行”执行?还是缓存会先于Workers运行来响应请求?

路由绑定的Worker会优先于缓存检查执行,不存在并行处理的情况。所有匹配路由的请求都会先进入Worker逻辑,之后才会触发缓存查询或者源站请求流程。

你不用顾虑缓存效率问题——只要在Worker里完成服务器端追踪逻辑后,正常调用fetch(event.request)获取内容,Cloudflare依然会按你的缓存规则读取缓存内容,不会额外增加源站请求。

问题2:如果Workers先执行,那么对源站发起的fetch()调用会使用Cloudflare缓存,还是始终从服务器拉取内容?

Worker里调用的fetch()默认遵循你配置的Cloudflare缓存策略:

  • 若缓存中有符合规则的命中内容,直接返回缓存数据,不会去源站拉取
  • 只有缓存未命中,或者你在fetch()的选项里主动设置了绕过缓存的参数(比如cf: { cacheTtl: 0 }、cacheControl: 'no-cache'),才会强制从源站获取内容

举个简单的实现示例:

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  // 执行服务器端追踪逻辑,比如记录访问数据
  await trackVisit(request)
  
  // 发起请求,自动遵循Cloudflare缓存规则
  const response = await fetch(request)
  return response
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 01:19:52