【问题标题】:Cache Policy - caching only if request succeeded缓存策略 - 仅在请求成功时缓存
【发布时间】:2015-07-22 16:28:44
【问题描述】:

我在一些资源端点上启用了一些缓存策略。系统运行良好,响应被缓存,以下请求命中缓存,缓存在我设置为刷新时正确刷新。

我唯一担心的是,有时客户端发出的请求没有命中缓存(例如,因为必须刷新缓存),服务器在那一刻返回错误(它可能会发生,这是统计... ),因此缓存的响应不是“正常”响应(例如 2xx)而是 4xx 或 5xx 响应。

我想知道是否可以仅在服务器响应代码为 2xx 时才缓存响应。

我没有在 Apigee 文档上找到任何这样做的示例,如果有一些名为“SkipCachePopulation”的缓存策略参数我认为我可以用于此目的。

有什么建议吗?

【问题讨论】:

  • 如果您使用的是 Apigee 开箱即用的响应缓存策略,默认行为是缓存 200 个响应。这是链接apigee.com/docs/api-services/content/…
  • Uhm.. 此时页面无法访问,但我不记得在文档中清楚地看到了这一点。除此之外,我们已经在响应代码不同于 200 的缓存中遇到了一些问题。

标签: caching apigee


【解决方案1】:

是的,您可以使用 ResponseCache 的 SkipCachePopulation 字段。它使用一个条件来确定缓存填充何时不会发生。这是一个例子:

<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>

【讨论】:

  • 谢谢迈克,我会试试这个
猜你喜欢
  • 1970-01-01
  • 2010-10-06
  • 2012-09-05
  • 2020-08-03
  • 2011-11-12
  • 2011-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多