处理更新缓存的最佳方法是什么?

What's the best way to handle caching on updates?

我有一个网站,但每次我上传新的更新或功能时,我担心它不会显示给用户。

发生过几次,我们上传了一些新东西,但对于一些用户来说,它没有出现。旧资料留了一段时间才出现

据我所知,没有用户会清除他们的浏览器缓存来防止这种情况,我想知道在开发方面是否可以做些什么来防止这种情况,每次我上传新东西时,用户都不会将遇到任何问题或收不到消息。

我目前使用 EC2、ES3、bucket 等 AWS 服务。云锋和 53 号公路

做什么

要执行的操作在这里用截图非常优雅地总结:

为什么要这样做

当有人向您的网站发出请求时,AWS 会自动将结果缓存在边缘位置以加快后续请求的响应时间。默认为 24 hours, but this can be modified.

您可以通过 (1) 将缓存过期设置为非常短的时间跨度,或 (2) 使用缓存失效来绕过此问题。不建议使用第一种方法,因为那样您的用户将不得不更频繁地等待更长时间才能获得响应,这并不好。您可以通过多种方式执行缓存失效,具体取决于哪种方式更适合您的项目。您可以阅读 the AWS docs about cache invalidation 以选择适合您的用例。

我之前在我的 CD 管道中添加了一个额外的缓存失效任务,它可以自动执行该过程并确保它永远不会被遗忘。除非您每月发布很多很多更新,否则它也是免费的。