Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Bir arka uç kaynağından gelen verileri önbelleğe alarak kaynağa yapılan istek sayısını azaltır. Uygulamalar aynı URI'ye istek yaptığından, bu istekleri arka uç sunucusuna yönlendirmek yerine önbelleğe alınan yanıtları döndürmek için bu politikayı kullanabilirsiniz. ResponseCache politikası, daha az gecikme ve ağ trafiği sağlayarak API'nizin performansını artırabilir.
ResponseCache'ı en çok, API'niz tarafından kullanılan arka uç verileri yalnızca düzenli olarak güncellendiğinde yararlı bulabilirsiniz. Örneğin, hava durumu raporu verilerini yalnızca on dakikada bir yenilenen bir API'niz olduğunu düşünün. Yenilemeler arasında önbelleğe alınan yanıtları döndürmek için ResponseCache'ı kullanarak arka uca ulaşan isteklerin sayısını azaltabilirsiniz. Bu, ağ atlamalarının sayısını da azaltır.
Genel amaçlı kısa vadeli önbelleğe alma için Önbelleği Doldur politikasını kullanabilirsiniz. Bu politika, Arama Önbelleği politikası (önbellek girişlerini okumak için) ve Önbelleği Geçersiz Kılma politikasıyla (girişleri geçersiz kılmak için) birlikte kullanılır.
Yanıt Önbelleği Politikası'na giriş için bu videoyu izleyin.
Örnekler
10 dakikalık önbellek
Bu örnek, önbelleğe alınan yanıtların nasıl 10 dakika tutulacağını gösterir.
Aşağıdaki URL'de bir API'niz olduğunu düşünün:
http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778
w
sorgu parametresini önbellek anahtarı olarak kullanıyorsunuz. Apigee Edge, bir istek alındığında w
sorgu parametresinin değerini kontrol eder. Önbellekte geçerli bir yanıt varsa (yani süresi dolmamış) bir yanıt varsa önbelleğe alınan yanıt mesajı, istekte bulunan istemciye döndürülür.
Şimdi, aşağıdaki gibi yapılandırılmış bir ResponseCache politikanız olduğunu varsayalım.
<ResponseCache name="ResponseCache"> <CacheKey> <KeyFragment ref="request.queryparam.w" /> </CacheKey> <ExpirySettings> <TimeoutInSeconds>600</TimeoutInSeconds> </ExpirySettings> </ResponseCache>
API proxy'si aşağıdaki URL için ilk kez bir istek mesajı aldığında yanıt önbelleğe alınır. 10 dakika içindeki ikinci istekte, bir önbellek araması gerçekleşir. Önbelleğe alınan yanıt, arka uç hizmetine herhangi bir istek yönlendirilmeden uygulamaya döndürülür.
http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778
Önbellek aramasını atla
Aşağıdaki örnekte, önbellek aramasının nasıl atlanacağı ve önbelleğin nasıl yenileneceği gösterilmektedir. JumpCacheLookup kullanımı ile ilgili bu videoya da göz atın.
İsteğe bağlı JumpCacheLookup koşulu (yapılandırılmışsa) istek yolunda değerlendirilir. Koşul doğru olarak değerlendirilirse önbellek araması atlanır ve önbellek yenilenir.
Koşullu önbellek yenilemenin yaygın bir kullanımı, koşulun doğru olarak değerlendirilmesine neden olan belirli bir HTTP üst bilgisini tanımlayan bir koşuldur. Komut dosyası kullanan bir istemci uygulaması, uygun HTTP başlığıyla düzenli olarak istek gönderecek ve böylece yanıt önbelleğinin açıkça yenilenmesine neden olacak şekilde yapılandırılabilir.
Örneğin, aşağıdaki URL'de bir API çağrısı olduğunu düşünün:
'http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778' -H "bypass-cache:true"
Şimdi, bu proxy'de aşağıdaki ResponseCache politikasını yapılandırdığınızı düşünün. Önbellek atlama koşulunun doğru olarak ayarlandığını unutmayın.
<ResponseCache name="ResponseCache"> <CacheKey> <KeyFragment ref="request.queryparam.w" /> </CacheKey> <!-- Explicitly refresh the cached response --> <SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup> <ExpirySettings> <TimeoutInSeconds>600</TimeoutInSeconds> </ExpirySettings> </ResponseCache>
Koşullar hakkında daha fazla bilgi için Akış değişkenleri ve koşulları bölümüne bakın.
Öğe referansı
Öğe referansı, politikanın öğelerini ve özelliklerini açıklar.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache 1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" /> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSeconds ref="flow.variable.here">300</TimeoutInSeconds> </ExpirySettings> <CacheResource>cache_to_use</CacheResource> <CacheLookupTimeoutInSeconds/> <ExcludeErrorResponse/> <SkipCacheLookup/> <SkipCachePopulation/> <UseAcceptHeader/> <UseResponseCacheHeaders/> </ResponseCache>
<ResponseCache> özellikleri
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
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ı. İsteğe bağlı olarak, politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı bir doğal dil adıyla etiketlemek için |
Yok | Gerekli |
continueOnError |
Bir politika başarısız olduğunda hata döndürülmesi için Bir politika başarısız olduktan sonra bile akış yürütülmesinin devam etmesi için |
false | İsteğe bağlı |
enabled |
Politikayı uygulamak için Politikayı devre dışı bırakmak için |
true | İsteğe bağlı |
async |
Bu özellik kullanımdan kaldırıldı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğesi
Politikayı, yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı bir doğal dil adıyla etiketlemek için name
özelliğine ek olarak kullanın.
<DisplayName>Policy Display Name</DisplayName>
Varsayılan |
Yok Bu öğeyi çıkarırsanız politikanın |
---|---|
Varlık | İsteğe bağlı |
Tür | Dize |
<CacheKey> öğesi
Önbellekte depolanan bir veri parçasına yönelik benzersiz bir işaretçi yapılandırır.
Önbellek anahtarları 2 KB boyutuyla sınırlıdır.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Varsayılan: |
Yok |
Bulunma: |
Gerekli |
Tür: |
Yok |
<CacheKey>
, önbellekte depolanan her veri parçasının adını oluşturur.
Anahtar genellikle varlık başlıkları veya sorgu parametrelerindeki bir değer kullanılarak ayarlanır. Bu gibi durumlarda, öğenin ref özelliğinin, anahtar değerini içeren bir değişken belirtmesini sağlayabilirsiniz.
Çalışma zamanında <KeyFragment>
değerlerinin başına <Scope>
öğe değeri veya <Prefix>
değeri eklenir. Örneğin, aşağıdaki durum 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 bölümüne bakın.
<CacheLookupTimeoutInSeconds> öğesi
Başarısız bir önbellek aramasının kaç saniye sonra "önbellek yok" şeklinde algılanacağını belirtir. Böyle bir durumda akış, önbellek eksikliği yolu boyunca devam eder.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
Varsayılan: |
30 |
Bulunma: |
İsteğe bağlı |
Tür: |
Tamsayı |
<CacheResource> öğesi
İletilerin depolanacağı önbelleği belirtir. Dahil edilen paylaşılan önbelleği kullanmak için bu öğeyi atlayın. Önbellekteki girişleri yönetimsel olarak temizlemek istiyorsanız CacheResource'ı ada göre belirtmeniz gerekir. Bu konuda daha fazla bilgi edinmek için Önbellekler bölümünü inceleyin.
<CacheResource>cache_to_use</CacheResource>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
Önbellekleri yapılandırma hakkında daha fazla bilgi edinmek için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleye bakın.
<CacheKey>/<KeyFragment> öğesi
Önbellek anahtarına eklenmesi gereken bir değeri belirterek istekleri önbelleğe alınan yanıtlarla eşleştirmek için bir ad alanı oluşturur.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Yok |
Bu bir anahtar (sağladığınız statik ad) veya bir değer (bir değişkene başvurularak ayarlanan dinamik giriş) olabilir. Belirtilen tüm parçalar (ve ön ek) birlikte önbellek anahtarını oluşturmak için birleştirilir.
<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 bölümüne bakın.
Özellikler
Özellik | Tür | Varsayılan | Gerekli | Açıklama |
---|---|---|---|---|
referans | dize | Hayır |
Değerin alınacağı değişken. Bu öğe değişmez değer içeriyorsa kullanılmamalıdır. |
<CacheKey>/<Prefix> öğesi
Önbellek anahtarı ön eki olarak kullanılacak bir değer belirtir.
<Prefix>prefix_string</Prefix>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
<Scope>
ile numaralanmış bir değer yerine kendi değerinizi belirtmek istediğinizde <Scope>
yerine bu değeri kullanın. Tanımlanırsa <Prefix>
, önbelleğe yazılan girişlerin önbellek anahtarı değerinin başına ekler. <Prefix>
öğesi 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 bölümüne bakın.
<ExcludeErrorResponse> öğesi
Şu anda bu politika varsayılan olarak HTTP yanıtlarını herhangi bir olası Durum koduyla önbelleğe almaktadır. Bu, hem başarılı hem de hata yanıtlarının önbelleğe alınacağı anlamına gelir. Örneğin, hem 2xx hem de 3xx durum kodlarına sahip yanıtlar varsayılan olarak önbelleğe alınır.
Hedef yanıtları HTTP hata durum kodlarıyla önbelleğe almak istemiyorsanız bu öğeyi true
olarak ayarlayın. Bu öğe doğruysa yalnızca durum kodu 200 ile 205 arasında olan yanıtlar önbelleğe alınır. Bunlar, Edge'in "başarılı" kodları olarak saydığı tek HTTP durum kodlarıdır ve bu ilişkilendirmeyi değiştiremezsiniz.
Bu öğenin faydalı olduğu Yanıt Önbelleği kalıplarıyla ilgili bir tartışma için bu topluluk yayınına bakın.
Not: Gelecekteki bir sürümde (belirlenecek) bu öğenin varsayılan ayarı "true" (doğru) olarak değiştirilecektir. Ayrıntılar için Apigee Sürüm Notları'na bakın.
<ExcludeErrorResponse>true</ExcludeErrorResponse>
Varsayılan: |
false |
Bulunma: |
İsteğe bağlı |
Tür: |
Boole |
<ExpirySettings> öğesi
Bir önbellek girişinin süresinin ne zaman dolacağını belirtir. Mevcut olduğunda <TimeoutInSeconds>
hem <TimeOfDay>
hem de <ExpiryDate>
değerlerini geçersiz kılar.
<ExpirySettings> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> <ExpiryDate ref="date_variable">expiration_date</ExpiryDate> </ExpirySettings>
Varsayılan: |
Yok |
Bulunma: |
Gerekli |
Tür: |
Yok |
<ExpirySettings>/<ExpiryDate> öğesi
Bir önbellek girişinin süresinin dolacağı tarihi belirtir. mm-dd-yyyy
formunu kullanın.
Mevcut olduğunda bu öğenin eşdüzey öğesi (<TimeoutInSeconds>
) <ExpiryDate>
değerini geçersiz kılar.
<ExpirySettings> <ExpiryDate ref="{date_variable}">expiration_date</ExpiryDate> </ExpirySettings>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
Özellikler
<ExpiryDate ref="" />
Özellik | Açıklama | Varsayılan | Varlık | Tür |
---|---|---|---|---|
referans |
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 |
<ExpirySettings>/<TimeOfDay> öğesi
Önbellek girişinin süresinin dolacağı günün saati. Formu kullanın: hh:mm:ss
.
Mevcut olduğunda bu öğenin eşdüzey öğesi (<TimeoutInSeconds>
) <TimeOfDay>
değerini geçersiz kılar.
Saati, SS:dd:ss biçiminde girin; SS, 24 saatlik biçimde saati temsil eder. Örneğin, öğleden sonra 2:30 için 14:30:00.
Günün saati için varsayılan yerel ayar ve saat dilimi, kodun çalıştığı yere bağlı olarak değişir (politikayı yapılandırdığınızda bu ayar bilinmiyor). Yerel ayarlarınızı yapılandırma hakkında bilgi edinmek için Ortam önbelleği oluşturma ve düzenleme bölümüne bakın.
<ExpirySettings> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> </ExpirySettings>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
Özellikler
Özellik | Açıklama | Varsayılan | Varlık | Tür |
---|---|---|---|---|
referans | Geçerlilik bitiş zamanı değerine sahip değişken. | Yok | İsteğe bağlı | Dize |
<ExpirySettings>/<TimeoutInSec> öğesi
Bir önbellek girişinin süresinin dolacağı saniye sayısıdır.
<ExpirySettings>/<TimeoutInSeconds> öğesi
Bir önbellek girişinin süresinin dolacağı saniye sayısıdır. Bu öğe mevcut olduğunda eşdüzeylerini (<TimeOfDay>
ve <ExpiryDate>
) geçersiz kılar.
<ExpirySettings> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> </ExpirySettings>
Not: Referansın duration_variable
aracından bir değer almaması durumunda kullanılacak varsayılan zaman aşımı değerini sağlayın.
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
Özellikler
Özellik | Açıklama | Varsayılan | Varlık | Tür |
---|---|---|---|---|
referans | Zaman aşımı değerine sahip değişken. |
Yok
|
İsteğe bağlı | Dize |
<Scope> öğesi
<CacheKey>
öğesinde bir <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" |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
<Scope>
ayarı, <Scope>
değerinin başına eklenen bir önbellek anahtarı belirler. Örneğin, kapsam Exclusive
olarak ayarlandığında önbellek anahtarı şu biçimde olur:
orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ [
orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ ].
<CacheKey>
özelliğinde bir <Prefix>
öğesi varsa <Scope>
öğe değerinin yerini alır. 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 bölümüne bakın.
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ı başına orgName __ envName __ biçiminde eklenir.
|
Application |
API proxy adı önek olarak kullanılır. Önbellek anahtarı, orgName__envName__apiProxyName biçiminde eklenir. |
Proxy |
Ön ek olarak ProxyEndpoint yapılandırması kullanılır. Önbellek anahtarı, orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName şeklinde başa eklenir . |
Target |
Önek olarak TargetEndpoint yapılandırması kullanılıyor. Önbellek anahtarı başına orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName biçiminde eklenir . |
Exclusive |
Varsayılan. En spesifik olan budur ve bu nedenle belirli bir önbellek içinde ad alanı çakışması riski minimum düzeydedir. Önek iki biçimden biridir:
Önbellek anahtarı, başına orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName biçiminde eklenir. Örneğin, tam dize aşağıdaki gibi görünebilir: apifactory__test__weatherapi__16__default__apiAccessToken. |
<JumpCacheLookup> öğesi
Çalışma zamanında doğru olarak değerlendirilirse önbellek aramasının atlanması ve önbelleğin yenilenmesi gerektiğini belirten bir ifade tanımlar. JumpCacheLookup kullanımı ile ilgili bu videoyu da izleyin.
<SkipCacheLookup>variable_condition_expression</SkipCacheLookup>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
Aşağıdaki örnekte, gelen üst bilgide atlama önbelleği değişkeni true (doğru) değerine ayarlanırsa önbellek araması atlanır ve önbellek yenilenir.
<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
<JumpCachePopulation> öğesi
Çalışma zamanında doğru olarak değerlendirilirse önbelleğe alma işleminin atlanması gerektiğini belirten bir ifade tanımlar. JumpCachePopulation kullanımıyla ilgili bu videoyu da izleyin.
<SkipCachePopulation>variable_condition_expression</SkipCachePopulation>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
Örneğin, yanıt durum kodu 400 veya daha yüksek olduğunda aşağıdakiler, önbellek yazma işlemini atlar:
<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>
<UseKabulHeader> öğesi
Bir yanıt önbellek girişinin önbellek anahtarının, yanıt Kabul üstbilgilerindeki değerlerle eklenmesini sağlamak için true
olarak ayarlayın.
Edge, önbellek anahtarını hesaplarken Accept
, Accept-Encoding
, Accept-Language
ve Accept-Charset
istek başlıklarını kullanır. Bu yaklaşım, müşterinin istemediği bir medya türünü almasını engeller.
Örneğin, aynı URL'den iki isteğin geldiğini, ilk isteğin gzip'i kabul ettiğini, ikincisinin ise kabul etmediğini düşünün. İlk istek önbelleğe alınır ve önbelleğe alınan giriş, (muhtemelen) gzip biçiminde bir yanıt olur. İkinci istek, önbelleğe alınan değeri okur ve daha sonra gzip'i okuyamayan bir istemciye gzip biçiminde eklenmiş bir giriş döndürebilir.
Daha fazla bilgi için Önbellek anahtarı yapılandırma bölümüne bakın.
<UseAcceptHeader>false</UseAcceptHeader>
Varsayılan: |
false |
Bulunma: |
İsteğe bağlı |
Tür: |
Boole |
<UseResponseCacheHeaders> öğesi
Önbellekte yanıtın "geçerlilik süresi" (TTL) ayarlanırken HTTP yanıt başlıklarının dikkate alınması için true
olarak ayarlayın. Bu durumda Edge, aşağıdaki yanıt üst bilgilerinin değerlerini dikkate alarak geçerlilik süresini ayarlarken değerleri <ExpirySettings>
tarafından ayarlanan değerlerle karşılaştırır:
Cache-Control s-maxage
Cache-Control max-age
Expires
Daha ayrıntılı bilgi için Önbellek girişi geçerlilik süresini ayarlama bölümüne bakın.
<UseResponseCacheHeaders>false</UseResponseCacheHeaders>
Varsayılan: |
false |
Bulunma: |
İsteğe bağlı |
Tür: |
Boole |
Kullanım notları
Önbelleğe alınan her nesne için maksimum boyut 256 KB'tır. (Edge'nin önbelleği nasıl işlediğiyle ilgili ayrıntılı bilgi için Dahili önbellek konusuna bakın.)
ResponseCache politikasındaki yapılandırma yoluyla, Edge'in önbellek girişi süre sonu ve önbellek anahtarlarını ayarlarken HTTP yanıt başlıkları eklemesini sağlayabilirsiniz. Bu bölümde, önbellek geçerlilik süresini ve önbellek anahtarlarını yönetmek için politikayı üst bilgilerle birlikte kullanabileceğiniz açıklanmaktadır.
Edge'in ResponseCache politikasıyla yanıt başlıklarını nasıl işlediği hakkında daha fazla bilgi için HTTP yanıt üstbilgileri için destek sayfasına bakın.
Önbellek girişi için geçerlilik bitiş tarihi ayarlama
Önbelleği Doldur politikasında olduğu gibi, <ExpirySettings>
öğesini kullanarak bir yanıt önbellek girişinin geçerlilik süresini (geçerlilik süresi) ayarlayabilirsiniz. ResponseCache politikasında, Edge'in mevcut yanıt başlıklarını dikkate almasını da sağlayabilirsiniz.
Yanıt başlıklarını kullanmak için <UseResponseCacheHeaders>
öğe değerini true olarak ayarlarsınız. Bu ayar, Edge'in yanıt başlıklarını dikkate almasına, bunları <ExpirySettings>
tarafından ayarlanan değerle karşılaştırmasına, ardından ikisi arasındaki en düşük değeri kullanmasına neden olur. Yanıt başlıklarını değerlendirirken, Edge aşağıda açıklandığı gibi kullanılabilir değeri seçer:
Örneğin, bir yanıtın aşağıdaki değerlerle önbelleğe alındığını düşünün:
Cache-Control s-maxage
değeri yokCache-Control max-age
değeri 300- Üç gün sonra
Expires
tarihinde gerçekleşecek - 600 değerinde
<ExpirySettings>
TimeoutInSeconds
değeri.
Bu durumda, <ExpirySettings>
değerinden düşük olduğundan ve Cache-Control s-maxage
değeri olmadığından (max-age
değerinden önceliklidir) TTL için Cache-Control
max-age
değeri kullanılır.
Önbellek anahtarını yapılandırma
Önbelleği Doldur politikası gibi genel amaçlı önbellek politikalarında olduğu gibi ResponseCache ile önbellek girişleri için önbellek anahtarı oluşturma özelliğini yapılandırmak üzere <CacheKey>
ve <Scope>
öğelerini kullanırsınız. ResponseCache ile anahtar değerlerine yanıt Kabul üstbilgilerini ekleyerek önbellek anahtarlarını daha anlamlı hale getirebilirsiniz.
Önbellek anahtarlarının yapılandırılmasıyla ilgili genel bilgiler için Önbellek anahtarlarıyla çalışma başlıklı makaleye bakın. Kabul etme üstbilgilerini kullanma hakkında bilgi için <UseAcceptHeader>
bölümüne bakın.
Önbellek şifrelemesi hakkında
Edge for Public Cloud: Önbellek yalnızca PCI ve HIPAA hizmetinin etkinleştirildiği kuruluşlarda şifrelenir. Bu kuruluşlar için şifreleme, kuruluş temel hazırlığı sırasında yapılandırılır.
Akış değişkenleri
Bir ResponseCache politikası yürütüldüğünde aşağıdaki önceden tanımlanmış Akış değişkenleri doldurulur. Akış değişkenleri hakkında daha fazla bilgi için Değişkenler referansı başlıklı makaleyi inceleyin.
Değişkenler | Tür | İzin | Açıklama |
---|---|---|---|
responsecache.{policy_name}.cachename |
Dize | Salt Okunur | Politikada kullanılan önbelleği döndürür |
responsecache.{policy_name}.cachekey |
Dize | Salt Okunur | Kullanılan anahtarı döndürür |
responsecache.{policy_name}.cachehit |
Boole | Salt Okunur | Politika başarıyla yürütülürse doğru değerini alır |
responsecache.{policy_name}.invalidentry |
Boole | Salt Okunur | Önbellek girişi geçerli değilse doğru değerini alır |
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 |
---|---|---|
InvalidTimeout |
ResponseCache politikasının <CacheLookupTimeoutInSeconds> öğesi negatif bir sayıya ayarlanırsa API proxy'sinin dağıtımı başarısız olur. |
build |
InvalidCacheResourceReference |
Bu hata, ResponseCache politikasındaki <CacheResource> öğesi, API proxy'sinin dağıtıldığı ortamda var olmayan bir ada ayarlanırsa ortaya çıkar. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Bu hata, bir API proxy'sinin herhangi bir akışındaki birden fazla istek yoluna aynı ResponseCache politikası eklenirse ortaya çıkar. | build |
ResponseCacheStepAttachmentNotAllowedResp |
Bu hata, API proxy'sinin herhangi bir akışındaki birden fazla yanıt yoluna aynı ResponseCache politikası eklenirse ortaya çıkar. | build |
InvalidMessagePatternForErrorCode |
Bu hata, ResponseCache politikasındaki <SkipCacheLookup> veya <SkipCachePopulation> öğesi geçersiz bir koşul içeriyorsa ortaya çıkar. |
build |
CacheNotFound |
Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar. | build |
Hata değişkenleri
Yok
Örnek hata yanıtı
Yok
Şema
Her politika türü, bir XML şeması (.xsd
) ile tanımlanır. Referans olarak, GitHub'da politika şemaları bulunabilir.