【发布时间】:2008-12-09 01:20:27
【问题描述】:
Akamai 多久刷新一次缓存?
我们使用 Akamai 缓存经常访问的文件。将文件上传和覆盖到 Akamai FTP 时,我看不到实时反映的新文件。
有人有这方面的经验吗?
【问题讨论】:
Akamai 多久刷新一次缓存?
我们使用 Akamai 缓存经常访问的文件。将文件上传和覆盖到 Akamai FTP 时,我看不到实时反映的新文件。
有人有这方面的经验吗?
【问题讨论】:
请记住,文件也可能缓存在其他地方,包括客户端所在的任何代理服务器或浏览器缓存本身。解决此问题的一种简单方法是将查询字符串添加到 URL,并在每次更新文件时更改值,或者将其设置为随机值以每次绕过缓存。服务器会忽略查询字符串,但浏览器和代理会认为它是一个完全不同的 URL 并重新请求它。
例如,而不是请求:
styles.css
请求:
styles.css?version=1
【讨论】:
它是可配置的。您需要与组织中管理您的 Akamai 帐户的任何人交谈。他们将有权更改缓存的方式和内容。如有必要,他们可以让您联系 Akamai 的技术联系人。
【讨论】:
要检查的另一件事是 Akamai 缓存项目的生存时间。
我在工作中使用 Akamai,最近发现它可以无限期地缓存任何最大年龄为零的东西。然后,当我将其更正为更有用的东西时,它会从同一个 url 随机返回旧项目和新项目。您可以在标题内容中看到旧项目(在本例中为 PDF 文件)的最大年龄仍然为零,而当前 PDF 具有新的最大年龄值。
为了解决这个问题,我们必须从 Akamai 清除 URL,以便它使用更正的最大年龄值缓存 PDF 的新版本。现在,受影响的 PDF 仅在新的最长期限内保持缓存,并且我们始终收到正确的版本。
【讨论】:
可以使用最终客户需要的任何缓存配置来调整 Akamai 网络上的文件。通常,我看到的两种最常见的缓存设计方法是:
如果您为请求启用以下编译指示标头,那么您可以检查 HTTP 响应标头并确定文件的缓存长度 - 它包含在缓存键中。
编译指示:akamai-x-cache-on、akamai-x-cache-remote-on、akamai-x-check-cacheable、akamai-x-get-cache-key、akamai-x-get-extracted-values , akamai-x-get-ssl-client-session-id, akamai-x-get-true-cache-key, akamai-x-serial-no, akamai-x-get-request-id,akamai-x-get -nonce,akamai-x-get-client-ip,akamai-x-feo-trace
例如以下表示一个文件缓存了 4 天:
x-cache-key:S/L/3568/82745/4d/mirror-somedomain.akadns.net/contentimages/meganav/020118/2018-02-01-someimg.jpg cid =_site_locale=us&site_language=en_
【讨论】: