簡體   English   中英

Cloudflare 機器人緩存問題

[英]Cloudflare bot caching issue

我正在使用 Cloudflare 工作人員從 GitHub 存儲庫獲取數據並將其緩存。 工作人員似乎緩存了文件並將它們發送給用戶,但順序有些奇怪。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM