Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
UYGULANANLAR: Tüm API Management katmanları
İlke, cache-store yanıtları belirtilen önbellek ayarlarına göre önbelleğe alır. Bu ilke, yanıt içeriğinin belirli bir süre boyunca statik kaldığı durumlarda uygulanabilir. Yanıtların önbelleğe alınması arka uç web sunucusuna uygulanan bant genişliği ve işleme gereksinimlerini azaltır ve API tüketicilerinin algıladığı gecikme süresini kısaltır.
Not
Bu ilkeye karşılık gelen bir Önbellekten al ilkesi olmalıdır.
Önemli
Yerleşik önbellek geçicidir ve aynı API Management hizmetindeki aynı bölgedeki tüm birimler tarafından paylaşılır.
Not
İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. Portal, bu ilkeyi yapılandırmanıza yardımcı olmak için kılavuzlu, form tabanlı bir düzenleyici sağlar. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.
İlke bildirimi
<cache-store duration="seconds" cache-response="true | false" />
Özellikler
| Öznitelik | Açıklama | Zorunlu | Varsayılan |
|---|---|---|---|
| süre | Saniye cinsinden belirtilen önbelleğe alınan girdilerin yaşam süresi. İlke ifadelerine izin verilir. | Evet | Yok |
| önbellek yanıtı |
true Geçerli HTTP yanıtını önbelleğe almak için olarak ayarlayın. Öznitelik atlanırsa, yalnızca durum koduna 200 OK sahip HTTP yanıtları önbelleğe alınır. İlke ifadelerine izin verilir. |
Hayır | false |
Kullanım
- İlke bölümleri: giden
- İlke kapsamları: genel, çalışma alanı, ürün, API, işlem
- Ağ geçitleri: klasik, v2, tüketim, şirket içinde barındırılan, çalışma alanı
Kullanım notları
- API Management yalnızca HTTP GET isteklerine yönelik yanıtları önbelleğe alır.
- Bu ilke, ilke bölümünde yalnızca bir kez kullanılabilir.
- Herhangi bir önbellek aramadan hemen sonra hız sınırı ilkesi (veya anahtara göre hız sınırı ilkesi) yapılandırmanızı öneririz. Bu, önbellek kullanılamıyorsa arka uç hizmetinizin aşırı yüklenmesini engeller.
Örnekler
Karşılık gelen önbellek arama ilkesine sahip örnek
Bu örnekte, yerleşik API Management önbelleğindeki cache-store yanıtları önbelleğe almak için ilkeyle cache-lookup birlikte ilkenin nasıl kullanılacağı gösterilmektedir.
Not
Önbellek aramasının ardından, çağrı sayısını sınırlamaya ve önbelleğin kullanılabilir olmaması durumunda arka uç hizmetinde aşırı yüklemeyi önlemeye yardımcı olmak için bir hız sınırı ilkesi (veya anahtara göre hız sınırı ilkesi) ekleyin.
<policies>
<inbound>
<base />
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" must-revalidate="true" caching-type="internal" >
<vary-by-query-parameter>version</vary-by-query-parameter>
</cache-lookup>
<rate-limit calls="10" renewal-period="60" />
</inbound>
<outbound>
<cache-store duration="seconds" />
<base />
</outbound>
</policies>
İlke ifadelerini kullanma örneği
Bu örnek, arka uç hizmetinin yönergesi tarafından Cache-Control belirtilen arka uç hizmetinin yanıt önbelleğe alma işlemiyle eşleşen API Management yanıt önbelleğe alma süresinin nasıl yapılandırıldığını gösterir.
<!-- The following cache policy snippets demonstrate how to control API Management response cache duration with Cache-Control headers sent by the backend service. -->
<!-- Copy this snippet into the inbound section -->
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="public" must-revalidate="true" >
<vary-by-header>Accept</vary-by-header>
<vary-by-header>Accept-Charset</vary-by-header>
</cache-lookup>
<rate-limit calls="10" renewal-period="60" />
<!-- Copy this snippet into the outbound section. Note that cache duration is set to the max-age value provided in the Cache-Control header received from the backend service or to the default value of 5 min if none is found -->
<cache-store duration="@{
var header = context.Response.Headers.GetValueOrDefault("Cache-Control","");
var maxAge = Regex.Match(header, "@(max-age=(?<maxAge>\\d+))").Groups["maxAge"]?.Value;
return (!string.IsNullOrEmpty(maxAge))?int.Parse(maxAge):300; }" />
Daha fazla bilgi için bkz . İlke ifadeleri ve Bağlam değişkeni.
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz:
- Öğretici: API'nizi dönüştürme ve koruma
- İlke deyimlerinin ve ayarlarının tam listesi için ilke başvurusu
- İlke ifadeleri
- İlkeleri ayarlama veya düzenleme
- İlke yapılandırmalarını yeniden kullanma
- İlke kod parçacıkları deposu
- İlke oyun alanı deposu
- Azure API Management ilke araç seti
- Politikalar oluşturmak, açıklamak ve sorun gidermek için Copilot yardımı alın