我有一个 nginx 服务器,它充当 3rd 方 API 的代理,对 API 的请求有时会有点慢,当缓存中的项目有时,依赖较慢 API 调用的页面可能需要很长时间才能加载已到期。
反正有没有类似以下的事情发生:
- 请求进入代理,缓存中没有任何内容,因此它将请求发送到 API 并缓存它。
- 后续请求导致代理立即返回缓存结果
- 缓存过期
- 下一个请求导致代理提供陈旧的缓存结果,但随后 nginx 不知何故从 API 获取新内容并更新其缓存。
- 当缓存更新后,用户开始看到更新的内容。
关键是当 nginx 检索新内容时,它会在提供过时的内容后这样做,因此发出请求的用户不必等待它完成。
那可能吗?