deno.com
本页内容

边缘缓存

Deno Deploy 支持 Web Cache API。该缓存旨在提供微秒级读取延迟、多 GB/s 写入吞吐量和无限制存储,但折衷于尽力而为的一致性和持久性。

const cache = await caches.open("my-cache");

Deno.serve(async (req) => {
  const cached = await cache.match(req);
  if (cached) {
    return cached;
  }

  const res = new Response("cached at " + new Date().toISOString());
  await cache.put(req, res.clone());
  return res;
});

缓存数据存储在运行您的代码的同一 Deno Deploy 区域中。通常,您的隔离(isolate)在同一区域内会观察到写后读(RAW)和写后写(WAW)一致性;但在极少数情况下,最近的写入可能会丢失、乱序或暂时不可见。

过期时间 跳转到标题

默认情况下,缓存数据会无限期保留。虽然我们会定期扫描和删除非活动对象,但一个对象通常会在缓存中保留至少 30 天。

边缘缓存理解标准的 HTTP 响应头 ExpiresCache-Control。您可以使用它们来为每个缓存对象指定过期时间,例如

Expires: Thu, 22 Aug 2024 01:22:31 GMT

Cache-Control: max-age=86400

限制 跳转到标题

  • 如果响应不是由 Uint8Arraystring 正文构建的,则 Content-Length 头需要手动设置。
  • 尚不支持删除功能。

您找到所需内容了吗?

隐私政策