이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서 보기
캐시된 값이 캐시에서 삭제되는 방법을 구성합니다.
이 정책은 범용 단기 캐싱에 사용됩니다. PopulateCache 정책 (요소 쓰기용) 및 LookupCache 정책(캐시 요소 읽기용)과 함께 사용됩니다.
백엔드 리소스의 응답을 캐싱하려면 ResponseCache 정책을 참조하세요.
이 정책은 확장 가능한 정책이며, 이 정책을 사용하면 Apigee 라이선스에 따라 비용 또는 사용률이 영향을 받을 수 있습니다. 정책 유형 및 사용 영향에 대한 자세한 내용은 정책 유형을 참조하세요.
요소 참조
다음은 이 정책에서 구성할 수 있는 요소입니다.
<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name"> <DisplayName>Policy Name</DisplayName> <CacheKey> <Prefix>prefix_string</Prefix> <KeyFragment ref="variable_reference"/> <KeyFragment>fragment_string</KeyFragment> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource>cache_to_use</CacheResource> <Scope>scope_enumeration</Scope> <CacheContext> <APIProxyName>application_that_added_the_entry</APIProxyName> <ProxyName>proxy_for_which_data_was_cached</ProxyName> <TargetName>endpoint_for_which_data_was_cached</TargetName> </CacheContext> <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries> </InvalidateCache>
<InvalidateCache> 속성
다음 표는 모든 정책 상위 요소의 공통 속성에 대해 설명합니다.
속성 | 설명 | 기본값 | Presence |
---|---|---|---|
name |
정책의 내부 이름입니다. 원하는 경우 |
해당 사항 없음 | 필수 |
continueOnError |
정책이 실패할 경우 오류가 반환되도록 하려면 정책이 실패해도 흐름 실행이 계속되도록 하려면 |
false | 선택사항 |
enabled |
정책을 시행하려면 정책을 중지하려면 |
true | 선택사항 |
async |
이 속성은 지원이 중단되었습니다. |
false | 지원 중단됨 |
<DisplayName> 요소
name
속성 외에도 이 요소를 사용하여 관리 UI 프록시 편집기의 정책에 다른 자연어 이름으로 라벨을 지정합니다.
<DisplayName>Policy Display Name</DisplayName>
기본값 |
해당 사항 없음 이 요소를 생략하면 정책 |
---|---|
Presence | 선택사항 |
유형 | 문자열 |
<CacheContext>/<APIProxyName> 요소
캐시 항목을 추가한 애플리케이션의 이름을 지정합니다.
<APIProxyName>application_that_added_the_entry</APIProxyName>
속성
속성 | 설명 | 기본값 | Presence | 유형 |
---|---|---|---|---|
ref | 애플리케이션 이름이 있는 변수 | 해당 사항 없음 | 선택사항 | 문자열 |
<CacheContext> 요소
Prefix
요소 값이 지정되지 않은 경우 캐시 키를 구성하는 방법 또는 다른 API 프록시에서 추가한 캐시 항목을 삭제하는 방법을 지정합니다.
<CacheContext> <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName> <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName> <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName> </CacheContext>
CacheKey를 구성하는 데 사용됩니다. 다른 API 프록시에서 추가한 캐시 항목을 지우는 데 CacheKey 프리픽스(즉, 커스텀 프리픽스)가 사용되지 않는 경우 APIProxyName, ProxyName, TargetName의 값이 필수입니다.
<CacheKey> 요소
캐시에 저장된 데이터 조각을 가리키는 고유한 포인터를 구성합니다.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
기본값: |
해당 사항 없음 |
Presence: |
필수 |
유형: |
해당 사항 없음 |
<CacheKey>
는 캐시에 저장된 각 데이터 조각의 이름을 구성합니다.
런타임 시 <KeyFragment>
값 앞에 <Scope>
요소 값 또는 <Prefix>
값이 추가됩니다. 예를 들어 다음을 실행하면 캐시 키가 UserToken__apiAccessToken__
<value_of_client_id>가 됩니다.
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
<CacheKey>
요소를 <Prefix>
및 <Scope>
와 함께 사용합니다. 자세한 내용은 캐시 키 작업을 참조하세요.
<CacheResource> 요소
메시지를 저장할 캐시를 지정합니다.
이 정책 및 해당 PopulateCache 및 LookupCache 정책이 포함된 공유 캐시를 사용하는 경우 이 요소를 완전히 생략하세요.
<CacheResource>cache_to_use</CacheResource>
기본값: |
해당 사항 없음 |
Presence: |
선택사항 |
유형: |
문자열 |
캐시 구성에 대한 자세한 내용은 범용 캐싱을 참조하세요.
<CacheKey>/<KeyFragment> 요소
캐시 키에 포함되어야 하는 값을 지정합니다. ref
속성이나 고정 값을 사용하여 참조 해제할 변수를 지정합니다.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
기본값: |
해당 사항 없음 |
Presence: |
선택사항 |
유형: |
해당 사항 없음 |
런타임에서 Apigee는 <Scope>
요소 또는 <Prefix>
요소에서 가져온 값을 각 <KeyFragment>
요소의 확인된 값에 연결하여 캐시 키를 만듭니다.
자세한 내용은 캐시 키 작업을 참조하세요.
속성
속성 | 설명 | 기본값 | Presence | 유형 |
---|---|---|---|---|
ref | 값을 가져올 변수입니다. 이 요소에 리터럴 값이 포함된 경우에는 사용하면 안 됩니다. | 해당 사항 없음 | 선택사항 | 문자열 |
<CacheKey>/<Prefix> 요소
캐시 키 프리픽스로 사용할 값을 지정합니다.
<Prefix>prefix_string</Prefix>
기본값: |
해당 사항 없음 |
Presence: |
선택사항 |
유형: |
문자열 |
<Prefix>
요소는 모든 <Scope>
요소를 재정의합니다.
런타임에서 Apigee는 <Scope>
요소 또는 <Prefix>
요소에서 가져온 값을 각 <KeyFragment>
요소의 확인된 값에 연결하여 캐시 키를 만듭니다.
자세한 내용은 캐시 키 작업을 참조하세요.
<CacheContext>/<ProxyName> 요소
데이터가 캐시된 프록시 이름을 지정합니다.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
기본값: |
해당 사항 없음 |
Presence: |
선택사항 |
유형: |
문자열 |
속성
속성 | 설명 | 기본값 | Presence | 유형 |
---|---|---|---|---|
ref | 값을 가져올 변수입니다. 이 요소에 리터럴 값이 포함된 경우에는 사용하면 안 됩니다. | 해당 사항 없음 | 선택사항 | 문자열 |
<PurgeChildEntries> 요소
true
: 이 정책에 구성된 동일한 <Prefix>
값을 공유하는 캐시 항목을 삭제합니다. 이러한 항목을 캐시에 로드한 PopulateCache 정책 인스턴스도 다양한 <KeyFragment>
요소를 사용합니다.
동일한 프리픽스 값의 모든 캐시 항목을 무효화하면 여러 관련 항목을 한 번에 삭제할 수 있습니다.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
기본값: |
false |
Presence: |
선택사항 |
유형: |
불리언 |
<Scope> 요소
<CacheKey>
요소에서 <Prefix>
요소가 제공되지 않은 경우 캐시 키의 프리픽스를 구성하는 데 사용되는 열거형입니다.
<Scope>scope_enumeration</Scope>
기본값: |
"Exclusive" |
Presence: |
선택사항 |
유형: |
문자열 |
<Scope>
설정은 <Scope>
값에 따라 앞에 오는 캐시 키를 결정합니다. 예를 들어 범위를 Exclusive
로 설정하면 캐시 키는 다음과 같은 형식을 취합니다.
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].
<CacheKey>
에 <Prefix>
요소가 있는 경우 <Scope>
요소 값을 대체합니다. <Scope>
요소의 유효한 값은 아래에 나와 있습니다.
자세한 내용은 캐시 키 작업을 참조하세요.
사용 가능한 값
범위 값 | 설명 |
---|---|
Global |
환경에 배포된 모든 API 프록시에서 캐시 키를 공유합니다. 캐시 키는 orgName__ envName __ 형식으로 앞에 추가됩니다.
|
Application |
API 프록시 이름은 프리픽스로 사용됩니다. 캐시 키는 orgName__envName__applicationName 형식으로 앞에 추가됩니다. |
Proxy |
ProxyEndpoint 구성이 프리픽스로 사용됩니다. 캐시 키는 orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName 형식으로 앞에 추가됩니다. |
Target |
TargetEndpoint 구성이 프리픽스로 사용됩니다. 캐시 키는 orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName 형식으로 앞에 추가됩니다. |
Exclusive |
기본값입니다. 이는 가장 구체적이므로 지정된 캐시 내에서 네임스페이스 충돌 위험을 최소화합니다. 프리픽스는 다음 두 가지 형식 중 하나입니다.
캐시 키는 orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName 형식으로 앞에 추가됩니다. 예를 들어 전체 문자열은 다음과 같습니다. apifactory__test__weatherapi__16__default__apiAccessToken |
<CacheContext>/<TargetName> 요소
데이터가 캐시된 대상 엔드포인트의 이름을 지정합니다.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
기본값: |
해당 사항 없음 |
Presence: |
선택사항 |
유형: |
문자열 |
속성
속성 | 설명 | 기본값 | Presence | 유형 |
---|---|---|---|---|
ref | 값을 가져올 변수입니다. 이 요소에 리터럴 값이 포함된 경우에는 사용하면 안 됩니다. | 해당 사항 없음 | 선택사항 | 문자열 |
사용 참고사항
PopulateCache 정책, LookupCache 정책, InvalidateCache 정책을 통한 범용 캐싱은 구성한 캐시 또는 기본적으로 포함된 공유 캐시를 사용합니다. 대부분의 경우 기본 공유 캐시가 니즈를 충족해야 합니다. 이 캐시를 사용하려면 <CacheResource>
요소를 생략하면 됩니다.
캐시 구성에 대한 자세한 내용은 범용 캐싱을 참조하세요. 기본 데이터 스토어에 대한 자세한 내용은 캐시 내부를 참조하세요.
오류 코드
이 섹션에서는 이 정책이 오류를 트리거할 때 설정되는 오류 메시지 및 흐름 변수에 대해 설명합니다. 이 정보는 프록시에 대한 오류 규칙을 개발하는 중이라면 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
오류 코드 프리픽스
해당 없음
런타임 오류
이 정책은 런타임 오류를 발생시키지 않습니다.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidCacheResourceReference |
이 오류는 InvalidateCache 정책의 <CacheResource> 요소가 API 프록시가 배포되는 환경에 존재하지 않는 이름으로 설정되는 경우에 발생합니다. |
build |
CacheNotFound |
이 오류는 오류 메시지에 언급된 특정 캐시가 특정 메시지 프로세서 구성요소에 생성되지 않은 경우에 발생합니다. | build |
오류 변수
해당 없음
오류 응답 예시
해당 없음