Akamai缓存刷新

11

Akamai 的缓存更新频率是多久一次?

我们使用Akamai来缓存经常访问的文件。当上传和覆盖文件到 Akamai FTP 时,我无法立即看到新文件的实时反映。

有人有这方面的经验吗?

4个回答

14
请注意,文件可能会在其他地方被缓存,包括客户端所在的任何代理服务器或浏览器缓存本身。一个简单的方法是在URL中添加查询字符串,并每次更新文件时更改其值,或将其设置为随机值以规避缓存。服务器将忽略查询字符串,但浏览器和代理将认为它是完全不同的URL并重新请求它。
例如,不要请求:
``` styles.css ```
而应该请求:
``` styles.css?version=1 ```

1
我知道这是一个非常老的帖子,但是这对Akamai是否起作用?也就是说,只要更改查询字符串,Akamai会从您的源获取文件的新版本吗? - JoeyP
1
它适用于Akamai,但您必须配置它以考虑查询参数。我不确定默认值是什么。 - thekingoftruth

11

这是可配置的。您需要与您组织中管理Akamai帐户的人员进行交流。他们将有权限更改缓存方式和内容。如果必要,他们可以联系Akamai的技术联系人。


1

另一个需要检查的是Akamai缓存项的生存时间。

我在工作中使用Akamai,最近发现它会无限期地缓存任何最大年龄为零的内容。然后,当我将其更正为更有用的内容时,它会随机返回同一URL的旧和新项目。您可以在标头内容中看到旧项目(在此情况下为PDF文件)仍具有零的最大年龄,而当前的PDF具有新的最大年龄值。

为了解决这个问题,我们不得不清除Akamai中的URL,以便缓存PDF的新版本,使用更正的最大年龄值。现在,受影响的PDF仅在新的最大年龄时间内保留缓存,并且我们始终收到正确的版本。


0

Akamai 网络上的文件可以根据最终客户需要的任何缓存配置进行调整。我通常看到的缓存设计方法有两种:

  1. 基于文件扩展名进行配置(例如:*.css、*.js等)
  2. 基于路径进行配置(/product/test、/checkout等)

如果您在请求中启用以下 pragma 标头,则可以检查 HTTP 响应标头并确定文件的缓存长度 - 它包含在缓存键中。

Pragma: 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-nonces、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_

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_


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接