[英]Cloudflare bot caching issue
我正在使用 Cloudflare 工作人員從 GitHub 存儲庫獲取數據並將其緩存。 工作人員似乎緩存了文件並將它們發送給用戶,但順序有些奇怪。
<h1>Rocket</h1>
<img src=rocket.png>
<img src=rocket2.png>
“r”是來自 GitHub 的響應; "req"是event.request
let cache = caches.default;
var cacheData = {body: req.body,method: req.method}
添加到緩存
await cache.put(new Request(req.url,cacheData), await fetch(r.download_url));
獲取緩存(技術上在頂部)
var pCache = await cache.match(new Request(req.url,cacheData))
if(!!pCache)return pCache
關於什么會導致這種情況的任何想法?
除了使用緩存 API,您還可以通過cf
將緩存設置傳遞給fetch(...)
來允許 CF 句柄緩存。
export default {
fetch(req, env, ctx) {
const url = new URL(req.url);
const targetUrl = `https://github.com${url.pathname}${url.search}`;
return fetch(targetUrl, {
cf: {
cacheTtl: 1209600,
cacheEverything: true
}
});
}
}
問題是由於對某個文件的多次請求。 我沒有使用 fetch,而是使用了緩存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.