2013-12-13 24 views
1

假設我通過PopulateCache策略在關鍵時刻通過PopulateCache策略設置了一個條目,過期時間爲3600秒。當我用一個鍵執行對高速緩存的查找時,它會刷新單個條目的到期時間,還是會保持原始的時間長度。例如:一個條目被緩存了3000秒,現在我執行一個LookUp。它是否重新設置爲3600秒,還是僅保持3000秒?Apigee Cache在訪問時被刷新

謝謝。

+0

Apigee文檔不會列出「PopulateCache」的任何條目。你可以粘貼代碼中的相關部分嗎?你使用哪種語言?什麼平臺? –

+0

@MaxLeske你可以在這裏找到關於'PopulateCache'和'LookupCache'(帶有策略示例)的信息:http://apigee.com/docs/gateway-services/content/optimize-performance-using-cache – OmidTahouri

+0

那麼搜索功能糟糕...... :)唯一能找到的就是文檔http://apigee.com/docs/gateway-services/content/reduce-latency-using-responsecache。這聽起來像是超時是絕對的(在命中沒有重置),但它根本不明確。不幸的是我根本不知道Apigee,所以不能真正幫助你。 –

回答

0

使用LookupCache策略訪問緩存值將而不是刷新其到期的TTL。 如果看起來發生了這種情況,您應該確保PopulateCache政策具有適當的條件。這聽起來像你可以在每個請求中設置(「填充」)相同的值到緩存,因此永遠不會讓它過期。

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

即,如果緩存查找錯過,只填充緩存

+0

我很懷疑,只是想要確認。在我的一個測試中,我也能夠確認相同的行爲。 TTL不會重置每個請求。如前所述,這是絕對的。 – GBG123

0

這與環境有關。一旦我取消部署代碼並重新部署它,事情就開始正常工作。

黃金法則的計算:-) 謝謝。