<ph type="x-smartling-placeholder"></ph>
현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
캐시 정책을 사용하는 경우 캐시 키를 구성하여 캐시된 값 키의 고유성을 보장합니다. 구성 가능한 다른 값과 함께 캐시 키는 투입한 것과 동일한 데이터를 안정적으로 가져올 수 있는 방법을 제공합니다. PopulateCache 정책, LookupCache 정책, InvalidateCache 정책, ResponseCache 정책에서 캐시 키를 사용합니다.
구성 요소의 값(<CacheKey>
/<KeyFragment>
, <Scope>
, <Prefix>
)은 연결되어 캐시에 입력한 값과 연결된 식별자를 만듭니다. 동일한 구성을 사용하여 값을 검색하세요.
다음 캐시 정책 구성 요소를 사용하여 캐시 키를 만들 수 있습니다.
캐시 구성 요소 | 설명 |
---|---|
<CacheKey> /<KeyFragment> |
<CacheKey> <KeyFragment> 요소를 결합하여 캐시 항목의 고유 식별자를 지정합니다. KeyFragment 값은 정적 리터럴이거나 변수에서 설정할 수 있습니다. |
<Scope> 또는 <Prefix> |
<Scope> 또는 <Prefix> 요소를 사용하여 추가 네임스페이스 캐시 키를 만듭니다. <Scope> 는 사전 정의된 값 목록을 열거합니다.
<Prefix> 요소는 <Scope> 를 직접 선택한 값으로 재정의합니다. |
값은 다음과 같은 형식으로 연결되는데, <Scope>
또는 <Prefix>
값은 KeyFragment 값과 이중 밑줄로 구분됩니다.
여러 KeyFragment 값도 이중 밑줄로 구분됩니다.
scope | prefix__keyfragment[__keyfragment]
응답 캐시 정책을 사용하면 동의 응답 헤더의 값을 사용하여 이 캐시 키를 추가할 수 있습니다.
<CacheKey> 사용
<CacheKey>
요소는 Edge에서 고유 식별자를 만드는 방법을 구성합니다.
(키)를 제공합니다. Edge는 캐시된 값을 가져올 때
키를 사용하여 올바른 값을 찾습니다. ResponseCache 정책에서 하나의 구성은 캐싱 및 검색 키를 모두 정의합니다. PopulateCache 및 LookupCache 정책에서 각 정책의 <CacheKey>
요소가 동일해야 합니다. 그래야 캐시에서 검색된 값이 해당 입력 값과 일치하게 됩니다.
<CacheKey>
요소는 여러 <KeyFragment>
요소를 포함할 수 있습니다. 런타임 시 <KeyFragment>
요소에서 지정된 값은 그 사이에 두 개의 밑줄로 연결되어 캐시 키의 일부를 구성합니다.
예를 들어 다음 구성은 캐시 키에 사용할 hello__world
값을 만듭니다.
<CacheKey> <KeyFragment>hello</KeyFragment> <KeyFragment>world</KeyFragment> <CacheKey>
아래와 같이 <KeyFragment>
요소에서 변수를 참조하여 캐시 키의 변수 값을 사용할 수도 있습니다.
<KeyFragment ref="variable_name"/>
예를 들어 캐시 키 값이 요청 메시지의 Content-Type을 통합하도록 하려면 아래와 같이 작업을 수행합니다.
<KeyFragment ref="request.header.Content-Type"/>
다음 구성에서 request.header.Content-Type
변수의 값은 application/json
입니다.
<CacheKey> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.header.Content-Type" /> <KeyFragment>bar</KeyFragment> </CacheKey>
그러면 apiAccessToken__application/json__bar
로 끝나는 캐시 키가 생성됩니다.
사용할 수 있는 변수 목록은 변수 참조에서 확인하세요.
쿼리 매개변수에서 파생된 캐시 키
request.queryparam. <queryparam_name> 및 request.querystring과 같은 변수를 사용하여 키에 요청 쿼리 문자열의 일부가 포함되도록 구성할 수 있습니다. 예를 들어 다음 URL은 캐시 키에 사용할 수 있는 두 개의 쿼리 매개변수(param1 및 param2)를 사용합니다.
http://myaccount.apigee.net/mydata?param1=value1¶m2=value2
<CacheKey>
요소는 이러한 값을 다음과 같은 구성과 통합할 수 있습니다.
<CacheKey> <KeyFragment ref="request.queryparam.param1" /> <KeyFragment ref="request.queryparam.param2" /> <CacheKey>
런타임 시 캐시 키에는 아래와 같이 연결된 매개변수 값이 포함됩니다.
other_key_parts__value1__value2
변수를 사용하여 매개변수의 값을 삽입할 경우 값은 <KeyFragment>
요소 순서에서 제안하는 순서대로 값이 연결됩니다. 또한
Edge는 명시적으로 참조하는 값만
<KeyFragment>
요소. 요청 쿼리 매개변수 목록이 다르다면 캐시 키에서 변이를 고려하지 않습니다.
또 다른 방법은 request.querystring 변수를 사용하여 전체 매개변수 문자열을 말 그대로 캐시 키의 일부로 삽입하는 것입니다. 이 메서드는 모든 매개변수를 고려하지만 매개변수 순서가 요청마다 다를 경우 키가 다르다는 점에 유의하세요. 즉, param1=value1¶m2=value2
및 param2=value2¶m1=value1
는 동일한 캐시 키 값을 가져오지 않습니다.
사용할 수 있는 변수 목록은 변수 참조에서 확인하세요.
<Scope> 및 <Prefix> 사용
<Scope>
및 <Prefix>
요소를 사용하면 네임스페이스 프리픽스로 키를 보강할 수 있습니다. 이들이 나타내는 값은 캐시 키 앞에 추가됩니다.
<Scope>
요소가 기본적으로 사용됩니다. 이는 넓은 범위에서 좁은 범위까지 나열한 값이며, 기본값은 가장 좁은 범위입니다. 다른 값을 지정하거나 <Prefix>
요소 값을 지정하지 않으면 이 기본값이 사용됩니다. <Prefix>
요소를 사용하여 <Scope>
값을 재정의할 수 있으므로 네임스페이스의 커스텀 값을 지정할 수 있습니다.
예를 들어 가장 광범위한 범위인 <Scope>
값 'Global'은 조직과 환경 이름을 나타냅니다. 따라서 프록시가 'mycompany'라는 조직에서 배포되고 'prod'라는 환경에서 배포된 경우 최종 값은 다음과 같습니다.
구성 | 결과 |
---|---|
<Scope>Global</Scope> |
mycompany__prod__ . |
위에서 정의한 캐시 키로 Global(전역) 범위를 사용할 경우 결과는 다음과 같습니다.
구성 | 결과 |
---|---|
<Scope>Global</Scope> <CacheKey> <KeyFragment>hello</KeyFragment> <KeyFragment>world</KeyFragment> <CacheKey> |
mycompany__prod__hello__world 할 수 있습니다. |
LookupCache 정책에 설명된 대로 범위를 Global에서 Exclusive로 구체성을 높이도록 구성할 수 있습니다. Exclusive 범위는 가장 구체적이므로 주어진 캐시 내의 네임스페이스 충돌 위험을 최소화합니다. Exclusive 범위를 사용하는 각 캐시 항목은 다음 형식의 프리픽스가 붙습니다.
orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__[serializedCacheKey]
예를 들어 <Scope>
의 Exclusive 값을 사용하여 생성된 캐시 키는 다음과 같습니다.
apifactory__test__weatherapi__16__default__apiAccessToken