【问题标题】:Apigee Cache getting refreshed when accessedApigee 缓存在访问时刷新
【发布时间】:2015-02-12 08:31:48
【问题描述】:

比如说,我通过 PopulateCache 策略在 Apigee 上设置了一个条目,有效期为 3600 秒,带有一个密钥。当我使用键执行缓存查找时,它是刷新单个条目的到期时间,还是仍然坚持原来的持续时间。

例如:一个条目被缓存了 3000 秒,现在我执行查找。它会再次重置为 3600 秒,还是仅停留在 3000 秒?

谢谢。

【问题讨论】:

  • Apigee 文档没有列出 PopulateCache 的任何条目。您可以粘贴代码中的相关部分吗?您使用哪种语言?什么平台?
  • @MaxLeske 您可以在此处找到有关PopulateCache 和LookupCache 的信息(带有策略示例):apigee.com/docs/gateway-services/content/…
  • 好吧,搜索功能很糟糕...... :) 我唯一能找到的是来自文档apigee.com/docs/gateway-services/content/… 的这个条目。在我看来,超时是绝对的(命中时没有重置),但根本不清楚。很遗憾,我根本不了解 Apigee,因此无法真正帮助您。

标签: caching apigee


【解决方案1】:

使用LookupCache 策略访问缓存值将不会刷新其到期 TTL。 如果看起来正在发生这种情况,您应该确保 PopulateCache 策略具有适当的条件。听起来您可以在每个请求上为缓存设置(“填充”)相同的值,因此永远不允许它过期。

<Step>
    <Condition>lookupcache.my-cache-lookup-policy.cachehit == "false"</Condition>
    <Name>my-populate-cache-policy</Name>
</Step>

即。仅当缓存查找丢失时才填充缓存

【讨论】:

  • 我也很怀疑,只是想确认一下。在我的一项测试中,我也能够确认相同的行为。 TTL 不会重置每个请求。如前所述,它是绝对的。
【解决方案2】:

​这和环境有关。一旦我取消部署代码并重新部署它,一切就开始正常了。

计算的黄金法则 :-) 谢谢。

【讨论】:

    猜你喜欢
    • 2014-10-08
    • 2011-02-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多