Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Konfiguruje sposób usuwania wartości z pamięci podręcznej.
Ta zasada jest przeznaczona do ogólnego krótkotrwałego buforowania. Jest używana w połączeniu z zasadą Populate Cache (do zapisywania wpisów) i zasadą Lookup Cache (do odczytywania wpisów w pamięci podręcznej).
Informacje o buforowaniu odpowiedzi z zasobów backendu znajdziesz w zasadzie Response Cache.
Dokumentacja elementów
Poniżej znajdziesz listę elementów, które możesz skonfigurować w tej zasadzie.
<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>
Atrybuty elementu <InvalidateCache>
W tej tabeli opisano atrybuty wspólne dla wszystkich elementów nadrzędnych zasad:
| Atrybut | Opis | Domyślny | Obecność |
|---|---|---|---|
name |
Wewnętrzna nazwa zasady. Wartość atrybutu Opcjonalnie możesz użyć elementu |
Nie dotyczy | Wymagane |
continueOnError |
Ustaw jako Ustaw jako |
fałsz | Opcjonalnie |
enabled |
Aby egzekwować zasadę, ustaw wartość Aby wyłączyć zasadę, ustaw wartość |
prawda | Opcjonalnie |
async |
Ten atrybut został wycofany. |
fałsz | Wycofano |
<DisplayName> element
Używaj oprócz atrybutu name do oznaczania zasady w
edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.
<DisplayName>Policy Display Name</DisplayName>
| Domyślny |
Nie dotyczy Jeśli pominiesz ten element, atrybut |
|---|---|
| Obecność | Opcjonalnie |
| Typ | Ciąg znaków |
Element <CacheContext>/<APIProxyName>
Określa nazwę aplikacji, która dodała wpis do pamięci podręcznej.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Atrybuty
| Atrybut | Opis | Domyślny | Obecność | Typ |
|---|---|---|---|---|
| ref | Zmienna z nazwą aplikacji. | Nie dotyczy | Opcjonalny | Ciąg znaków |
Element <CacheContext>
Określa, jak utworzyć klucz pamięci podręcznej, gdy nie określono wartości elementu Prefix, lub jak wyczyścić wpisy w pamięci podręcznej dodane przez inne proxy interfejsu 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>
Służy do tworzenia klucza CacheKey. Gdy do czyszczenia wpisów w pamięci podręcznej dodanych przez inne proxy interfejsu API nie jest używany prefiks klucza CacheKey (czyli prefiks niestandardowy), wartości APIProxyName, ProxyName i TargetName są obowiązkowe.
Element <CacheKey>
Konfiguruje unikalny wskaźnik do fragmentu danych przechowywanego w pamięci podręcznej.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
|
Domyślny: |
Nie dotyczy |
|
Obecność: |
Wymagane |
|
Typ: |
Nie dotyczy |
<CacheKey> tworzy nazwę każdego fragmentu danych przechowywanego w
pamięci podręcznej.
W czasie działania wartości <KeyFragment> są poprzedzane wartością elementu
<Scope> lub wartością <Prefix>. Na przykład poniższy kod spowoduje utworzenie klucza pamięci podręcznej
UserToken__apiAccessToken__<value_of_client_id>:
<CacheKey>
<Prefix>UserToken</Prefix>
<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />
</CacheKey>Elementu <CacheKey> używasz w połączeniu z
<Prefix> i <Scope>. Więcej informacji znajdziesz w artykule Praca z kluczami pamięci podręcznej.
Element <CacheResource>
Określa pamięć podręczną, w której mają być przechowywane wiadomości.
Jeśli ta zasada (i odpowiadające jej zasady PopulateCache i LookupCache) korzysta z dołączonej współdzielonej pamięci podręcznej, całkowicie pomiń ten element.
<CacheResource>cache_to_use</CacheResource>
|
Domyślny: |
Nie dotyczy |
|
Obecność: |
Opcjonalny |
|
Typ: |
Ciąg znaków |
Więcej informacji o konfigurowaniu pamięci podręcznych znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska .
Element <CacheKey>/<KeyFragment>
Określa wartość, która ma być uwzględniana w kluczu pamięci podręcznej, tworząc przestrzeń nazw do dopasowywania żądań do odpowiedzi z pamięci podręcznej.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
|
Domyślny: |
Nie dotyczy |
|
Obecność: |
Opcjonalny |
|
Typ: |
Nie dotyczy |
Może to być klucz (statyczna nazwa, którą podasz) lub wartość (dynamiczny wpis ustawiony przez odwołanie się do zmiennej). Wszystkie określone fragmenty (plus prefiks) są łączone w celu utworzenia klucza pamięci podręcznej.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Elementu <KeyFragment> używasz w połączeniu z
<Prefix> i <Scope>. Więcej informacji znajdziesz w artykule Praca z kluczami pamięci podręcznej.
Atrybuty
| Atrybut | Opis | Domyślny | Obecność | Typ |
|---|---|---|---|---|
| ref | Zmienna, z której ma zostać pobrana wartość. Nie należy używać, jeśli ten element zawiera a wartość literału. | Nie dotyczy | Opcjonalny | Ciąg znaków |
Element <CacheKey>/<Prefix>
Określa wartość, która ma być używana jako prefiks klucza pamięci podręcznej.
<Prefix>prefix_string</Prefix>
|
Domyślny: |
Nie dotyczy |
|
Obecność: |
Opcjonalny |
|
Typ: |
Ciąg znaków |
Użyj tej wartości zamiast <Scope>, gdy chcesz określić własną wartość
zamiast wartości wyliczanej <Scope>. Jeśli jest zdefiniowany,
<Prefix> poprzedza wartość klucza pamięci podręcznej w przypadku wpisów zapisywanych w pamięci podręcznej. Wartość elementu
<Prefix> zastępuje wartość elementu
<Scope>.
Elementu <Prefix> używasz w połączeniu z
<CacheKey> i <Scope>. Więcej informacji znajdziesz w artykule Praca z kluczami pamięci podręcznej.
Element <CacheContext>/<ProxyName>
Określa nazwę proxy, dla którego dane zostały zapisane w pamięci podręcznej.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
|
Domyślny: |
Nie dotyczy |
|
Obecność: |
Opcjonalny |
|
Typ: |
Ciąg znaków |
Atrybuty
| Atrybut | Opis | Domyślny | Obecność | Typ |
|---|---|---|---|---|
| ref | Zmienna, z której ma zostać pobrana wartość. Nie należy używać, jeśli ten element zawiera a wartość literału. | Nie dotyczy | Opcjonalny | Ciąg znaków |
Element <PurgeChildEntries>
true – usuwa wpisy w pamięci podręcznej, które mają wartość ustawioną przez element
<KeyFragment> skonfigurowany dla tej zasady. Wartości w innych częściach klucza pamięci podręcznej, np. w elementach <Prefix>, nie są brane pod uwagę.
Pamiętaj, że element <KeyFragment> musi być określony. Jeśli tak nie jest,
ustawienie wartości true dla <PurgeChildEntries> może spowodować usunięcie wszystkich wpisów w
pamięci podręcznej.
Unieważnienie wszystkich wpisów w pamięci podręcznej o tej samej wartości fragmentu klucza może być przydatnym sposobem na jednoczesne usunięcie wielu powiązanych wpisów.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
|
Domyślny: |
fałsz |
|
Obecność: |
Opcjonalny |
|
Typ: |
Wartość logiczna |
Element <Scope>
Wyliczenie używane do tworzenia prefiksu klucza pamięci podręcznej, gdy element <Prefix>
nie jest podany w elemencie <CacheKey>.
<Scope>scope_enumeration</Scope>
|
Domyślny: |
„Exclusive” |
|
Obecność: |
Opcjonalny |
|
Typ: |
Ciąg znaków |
Ustawienie <Scope> określa klucz pamięci podręcznej, który jest poprzedzany zgodnie z
wartością <Scope>. Na przykład klucz pamięci podręcznej będzie miał następującą postać, gdy
zakres jest ustawiony na Exclusive:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].
Jeśli w elemencie <CacheKey> znajduje się element <Prefix>, zastępuje on wartość elementu <Scope>. Prawidłowe wartości to wyliczenia
podane poniżej.
Elementu <Scope> używasz w połączeniu z
<CacheKey> i <Prefix>. Więcej informacji znajdziesz w artykule Praca z kluczami pamięci podręcznej.
Dopuszczalne wartości
| Wartość zakresu | Opis |
|---|---|
Global |
Klucz pamięci podręcznej jest współdzielony przez wszystkie proxy interfejsu API wdrożone w środowisku. Klucz pamięci podręcznej jest poprzedzany w postaci orgName __ envName __. Jeśli zdefiniujesz wpis |
Application |
Nazwa proxy interfejsu API jest używana jako prefiks. Klucz pamięci podręcznej jest poprzedzany w postaci orgName__envName__applicationName. |
Proxy |
Konfiguracja ProxyEndpoint jest używana jako prefiks. Klucz pamięci podręcznej jest poprzedzany w postaci orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName . |
Target |
Konfiguracja TargetEndpoint jest używana jako prefiks. Klucz pamięci podręcznej jest poprzedzany w postaci orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName . |
Exclusive |
Domyślny. Jest to najbardziej szczegółowy zakres, dlatego minimalizuje ryzyko kolizji przestrzeni nazw w danej pamięci podręcznej. Prefiks ma jedną z 2 postaci:
Klucz pamięci podręcznej jest poprzedzany w postaci orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName Na przykład pełny ciąg znaków może wyglądać tak: apifactory__test__weatherapi__16__default__apiAccessToken |
Element <CacheContext>/<TargetName>
Określa nazwę docelowego punktu końcowego, dla którego dane zostały zapisane w pamięci podręcznej.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
|
Domyślny: |
Nie dotyczy |
|
Obecność: |
Opcjonalny |
|
Typ: |
Ciąg znaków |
Atrybuty
| Atrybut | Opis | Domyślny | Obecność | Typ |
|---|---|---|---|---|
| ref | Zmienna, z której ma zostać pobrana wartość. Nie należy używać, jeśli ten element zawiera a wartość literału. | Nie dotyczy | Opcjonalny | Ciąg znaków |
Zastosowanie
Ogólne buforowanie za pomocą zasad Populate Cache, LookupCache i
InvalidateCache korzysta z skonfigurowanej przez Ciebie pamięci podręcznej lub współdzielonej pamięci podręcznej, która jest domyślnie dołączona. W większości przypadków podstawowa współdzielona pamięć podręczna powinna spełniać Twoje potrzeby. Aby używać tej pamięci podręcznej,
po prostu pomiń element <CacheResource>.
Więcej informacji o konfigurowaniu pamięci podręcznych znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska . Więcej informacji o podstawowym magazynie danych znajdziesz w artykule Wewnętrzne działanie pamięci podręcznej.
Kody błędów
W tej sekcji opisujemy komunikaty o błędach i zmienne przepływu ustawiane, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły błędów dla serwera proxy. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Prefiks kodu błędu
Nie dotyczy
Błędy w czasie wykonywania
Ta zasada nie powoduje błędów podczas działania.
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
InvalidCacheResourceReference |
Ten błąd występuje, jeśli element <CacheResource> w zasadzie InvalidateCache jest ustawiony na nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API. |
build |
CacheNotFound |
Ten błąd występuje, jeśli pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w konkretnym komponencie procesora wiadomości. | build |
Zmienne błędów
Nie dotyczy
Przykładowa odpowiedź na błąd
Nie dotyczy