InvalidateCache politikası

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Önbelleğe alınan değerlerin önbellekten nasıl temizleneceğini yapılandırır.

Bu politika, genel amaçlı kısa süreli önbelleğe alma işlemlerinde kullanılmak üzere tasarlanmıştır. Önbelleği Doldurma Politikası (giriş yazmak için) ve Önbelleği Arama Politikası (önbellek girişlerini okumak için) ile birlikte kullanılır.

Arka uç kaynaklarının yanıtlarını önbelleğe alma hakkında bilgi edinmek için Response Cache politikasına bakın.

Öğe referansı

Bu politikada yapılandırabileceğiniz öğeler aşağıda listelenmiştir.

<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> özellikleri

Aşağıdaki tabloda tüm politika üst öğelerinde ortak olan özellikler açıklanmaktadır:

Özellik Açıklama Varsayılan Varlık
name

Politikanın dahili adı. name özelliğinin değeri Harf, sayı, boşluk, kısa çizgi, alt çizgi ve nokta içermelidir. Bu değer, 255 karakteri aşmalıdır.

İsteğe bağlı olarak, politikayı<DisplayName> yönetim arayüzü proxy düzenleyicisinde farklı bir doğal dil adı kullanabilir.

Yok Zorunlu
continueOnError

Bir politika başarısız olduğunda hata döndürmesi için false olarak ayarlayın. Bu beklenen bir durumdur çoğu politika için geçerli olur.

Akış yürütmenin bir politikadan sonra bile devam etmesi için true olarak ayarlayın başarısız olur.

false İsteğe bağlı
enabled

Politikayı uygulamak için true olarak ayarlayın.

Politikayı devre dışı bırakmak için false değerine ayarlayın. Bu politika, bir akışa bağlı kalsa bile uygulanır.

true İsteğe bağlı
async

Bu özelliğin desteği sonlandırıldı.

false Kullanımdan kaldırıldı

&lt;DisplayName&gt; öğe

Politikayı name özelliğine ek olarak farklı bir doğal dil adına sahip yönetim arayüzü proxy düzenleyicisi.

<DisplayName>Policy Display Name</DisplayName>
Varsayılan

Yok

Bu öğeyi çıkarırsanız politikanın name özelliğinin değeri: kullanılır.

Varlık İsteğe bağlı
Tür Dize

<CacheContext>/<APIProxyName> öğesi

Önbellek girişini ekleyen uygulamanın adını belirtir.

<APIProxyName>application_that_added_the_entry</APIProxyName>

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
ref Uygulama adını içeren değişken. Yok İsteğe bağlı Dize

<CacheContext> öğesi

Bir Prefix öğe değeri belirtilmediğinde önbellek anahtarının nasıl oluşturulacağını veya başka bir API proxy'si tarafından eklenen önbellek girişlerinin nasıl temizleneceğini belirtir.

<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'i oluşturmak için kullanılır. Başka bir API proxy'si tarafından eklenen önbellek girişlerini temizlemek için CacheKey öneki (yani özel bir önek) kullanılmadığında APIProxyName, ProxyName ve TargetName değerleri zorunludur.

<CacheKey> öğesi

Önbellekte depolanan bir veri parçasına benzersiz bir işaretçi yapılandırır.

<CacheKey>
    <Prefix>string</Prefix>
    <KeyFragment ref="variable_name" />
    <KeyFragment>literal_string</KeyFragment>
</CacheKey>

Varsayılan:

Yok

Mevcut olma:

Zorunlu

Tür:

Yok

<CacheKey>, önbellekte depolanan her veri parçasının adını oluşturur.

Çalışma zamanında, <KeyFragment> değerlerinin başına <Scope> öğe değeri veya <Prefix> değeri eklenir. Örneğin, aşağıdakiler UserToken__apiAccessToken__<value_of_client_id> önbellek anahtarıyla sonuçlanır:

<CacheKey>
    <Prefix>UserToken</Prefix>
    <KeyFragment>apiAccessToken</KeyFragment>
    <KeyFragment ref="request.queryparam.client_id" />
</CacheKey>

<CacheKey> öğesini <Prefix> ve <Scope> ile birlikte kullanırsınız. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

<CacheResource> öğesi

İletilerin depolanması gereken önbelleği belirtir.

Bu politika (ve ilgili PopulateCache ve LookupCache politikalarınız) paylaşılan önbelleği kullanıyorsa bu öğeyi tamamen atlayın.

<CacheResource>cache_to_use</CacheResource>

Varsayılan:

Yok

Mevcut olma:

İsteğe bağlı

Tür:

Dize

Önbellekleri yapılandırma hakkında daha fazla bilgi için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleyi inceleyin.

<CacheKey>/<KeyFragment> öğesi

Önbelleğe alınmış yanıtlara isteklerin eşleştirilmesi için bir ad alanı oluşturarak önbellek anahtarına dahil edilmesi gereken bir değeri belirtir.

<KeyFragment ref="variable_name"/>
<KeyFragment>literal_string</KeyFragment>

Varsayılan:

Yok

Mevcut olma:

İsteğe bağlı

Tür:

Yok

Bu, bir anahtar (sizin sağladığınız statik bir ad) veya bir değer (bir değişkene referans verilerek ayarlanan dinamik bir giriş) olabilir. Belirtilen tüm parçalar (ön ekle birlikte) birleştirilerek önbellek anahtarı oluşturulur.

<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />

<KeyFragment> öğesini <Prefix> ve <Scope> ile birlikte kullanırsınız. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
ref Değerin alınacağı değişken. Bu öğe değişmez değer içeriyorsa kullanılmamalıdır. Yok İsteğe bağlı Dize

<CacheKey>/<Prefix> öğesi

Önbellek anahtarı öneki olarak kullanılacak bir değeri belirtir.

<Prefix>prefix_string</Prefix>

Varsayılan:

Yok

Mevcut olma:

İsteğe bağlı

Tür:

Dize

<Scope> ile numaralandırılmış bir değer yerine kendi değerinizi belirtmek istediğinizde <Scope> yerine bu değeri kullanın. Tanımlanmışsa, <Prefix>, önbelleğe yazılan girişler için önbellek anahtarı değerinin başına eklenir. <Prefix> öğe değeri, <Scope> öğe değerini geçersiz kılar.

<Prefix> öğesini <CacheKey> ve <Scope> ile birlikte kullanırsınız. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

<CacheContext>/<ProxyName> öğesi

Verilerin önbelleğe alındığı proxy'nin adını belirtir.

<ProxyName>proxy_for_which_data_was_cached</ProxyName>

Varsayılan:

Yok

Mevcut olma:

İsteğe bağlı

Tür:

Dize

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
ref Değerin alınacağı değişken. Bu öğe değişmez değer içeriyorsa kullanılmamalıdır. Yok İsteğe bağlı Dize

<PurgeChildEntries> öğesi

Bu politika için yapılandırılmış bir <KeyFragment> öğesi tarafından ayarlanan değeri paylaşan önbellek girişlerini temizlemek için true. Önbellek anahtarının diğer bölümlerindeki değerler (ör. <Prefix> öğelerindeki değerler) dikkate alınmaz.

<KeyFragment> öğesinin belirtilmesi gerektiğini unutmayın. Bu durum söz konusu değilse <PurgeChildEntries> için true değerinin ayarlanması, önbellekteki tüm girişlerin temizlenmesine neden olabilir.

Aynı anahtar parçası değerine sahip tüm önbellek girişlerini geçersiz kılmak, birden çok ilgili girişi aynı anda temizlemek için yararlı bir yöntem olabilir.

<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>

Varsayılan:

yanlış

Mevcut olma:

İsteğe bağlı

Tür:

Boole

<Scope> öğesi

<CacheKey> öğesinde <Prefix> öğesi sağlanmadığında önbellek anahtarı için bir önek oluşturmak üzere kullanılan numaralandırma.

<Scope>scope_enumeration</Scope>

Varsayılan:

"Özel"

Mevcut olma:

İsteğe bağlı

Tür:

Dize

<Scope> ayarı, <Scope> değerine göre önüne eklenen bir önbellek anahtarı belirler. Örneğin, kapsam Exclusive olarak ayarlandığında bir önbellek anahtarı aşağıdaki biçimi alır:

orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].

<CacheKey> içinde bir <Prefix> öğesi varsa bu öğe, <Scope> öğesi değerinin yerine geçer. Geçerli değerler aşağıdaki numaralandırmaları içerir.

<Scope> öğesini <CacheKey> ve <Prefix> ile birlikte kullanırsınız. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

Kabul edilebilir değerler

Kapsam Değeri Açıklama
Global

Önbellek anahtarı, ortamda dağıtılan tüm API proxy'leri arasında paylaşılır. Önbellek anahtarı, orgName __ envName __ biçiminde eklenir.

<CacheKey> girişini <KeyFragment> apiAccessToken ve <Global> kapsamıyla tanımlarsanız her giriş, orgName__envName__apiAccessToken olarak depolanır ve ardından erişim jetonunun serileştirilmiş değeri gelir. "apifactory" adlı bir kuruluşta "test" adlı bir ortamda dağıtılan bir API proxy'si için erişim jetonları aşağıdaki önbellek anahtarı altında saklanır: apifactory__test__apiAccessToken.

Application

API proxy adı, önek olarak kullanılır.

Önbellek anahtarı, orgName__envName__applicationName biçiminde önceden eklenir.

Proxy

ProxyEndpoint yapılandırması, önek olarak kullanılır.

Önbellek anahtarı, orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName biçiminde önceden eklenir. .

Target

TargetEndpoint yapılandırması, önek olarak kullanılır.

Önbellek anahtarı, şu biçimde eklenir: orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName .

Exclusive

Varsayılan. Bu, en belirgin olanıdır ve bu nedenle belirli bir önbellekte ad alanı çakışması riskini en aza indirir.

Önek iki biçimden birinde olabilir:

  • Politika ProxyEndpoint akışına eklenirse ön ek ApiProxyName_ProxyEndpointName biçiminde olur.
  • Politika TargetEndpoint konumunda eklenirse önek ApiProxyName_TargetName biçiminde olur.

Önüne eklenen önbellek anahtarı şu biçimdedir: orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName

Örneğin, tam dize şu şekilde görünebilir:

apifactory__test__weatherapi__16__default__apiAccessToken
.

<CacheContext>/<TargetName> öğesi

Verilerin önbelleğe alındığı hedef uç noktanın adını belirtir.

<TargetName>endpoint_for_which_data_was_cached</TargetName>

Varsayılan:

Yok

Mevcut olma:

İsteğe bağlı

Tür:

Dize

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
ref Değerin alınacağı değişken. Bu öğe değişmez değer içeriyorsa kullanılmamalıdır. Yok İsteğe bağlı Dize

Kullanım notları

PopulateCache politikası, LookupCache politikası ve InvalidCache politikasıyla genel amaçlı önbelleğe alma, yapılandırdığınız bir önbelleği veya varsayılan olarak dahil edilen paylaşılan bir önbelleği kullanır. Çoğu durumda, temel alınan paylaşılan önbellek ihtiyaçlarınızı karşılar. Bu önbelleği kullanmak için <CacheResource> öğesini atlamanız yeterlidir.

Önbellekleri yapılandırma hakkında daha fazla bilgi için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleyi inceleyin. Temel alınan veri deposu hakkında daha fazla bilgi için Önbellek iç işleyişi başlıklı makaleyi inceleyin.

Hata kodları

Bu bölümde, bu politika bir hatayı tetiklediğinde ayarlanan hata mesajları ve akış değişkenleri açıklanmaktadır. Bu bilgiler, bir proxy için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Hata kodu öneki

Yok

Çalışma zamanı hataları

Bu politika, çalışma zamanı hatası bildirmez.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidCacheResourceReference Bu hata, InValidateCache politikasındaki <CacheResource> öğesi, API proxy'sinin dağıtıldığı ortamda var olmayan bir ada ayarlanırsa bu hata oluşur.
CacheNotFound Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar.

Hata değişkenleri

Yok

Örnek hata yanıtı

Yok