我創建了一個新的API /v1/StatusCache
指向我的終點/v1/Status
。我的目標是能夠緩存中的數據:使用proxy.basepath緩存在Apigee中
- 基於URI
- 特定頭
所以,如果用戶1發送請求/v1/StatusCache/1234
和相同的用戶發送請求/v1/StatusCache/5678
,我應該打我的服務器,而不是從第一個請求獲取以前的緩存結果。
另外我們在請求中的用戶標頭(Authorization:Bearer),所以我的第二個目標是如果帶有標頭Authorization:Bearer token1的用戶1發送一個請求到/v1/StatusCache/1234
vs一個擁有標頭Authorization的用戶2:Bearer token2發送一個請求到/v1/StatusCache/1234
,我應該得到不同的結果(非緩存結果)
我有代碼爲proxypath,但它只緩存每個請求10秒。我缺少
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="responsecache-1">
<DisplayName>ResponseCache-1</DisplayName>
<FaultRules/>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref="proxy.pathsuffix" type="string">proxy.pathsuffix</KeyFragment>
</CacheKey>
<Scope>Exclusive</Scope>
<ExpirySettings>
<ExpiryDate/>
<TimeOfDay/>
<TimeoutInSec ref="">10</TimeoutInSec>
</ExpirySettings>
<SkipCacheLookup/>
<SkipCachePopulation/>
</ResponseCache>
非常感謝Michael!這工作 – user3385158