Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK: Semua tingkatAN API Management
Kebijakan cache respons cache-store sesuai dengan pengaturan cache yang ditentukan. Kebijakan ini dapat diterapkan dalam kasus di mana konten respons tetap statis selama periode waktu tertentu. Pembuatan cache respons mengurangi bandwidth dan persyaratan pemrosesan yang diberlakukan pada server web backend dan menurunkan latensi yang diketahui konsumen API.
Catatan
Kebijakan ini harus memiliki kebijakan Dapatkan ke cache yang sesuai.
Penting
Cache bawaan mudah menguap dan dibagikan oleh semua unit di wilayah yang sama dalam layanan API Management yang sama.
Catatan
Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang disediakan dalam pernyataan kebijakan. Untuk membantu Anda mengonfigurasi kebijakan ini, portal menyediakan editor berbasis formulir berikut panduannya. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.
Pernyataan kebijakan
<cache-store duration="seconds" cache-response="true | false" />
Atribut
| Atribut | Deskripsi | Wajib diisi | Bawaan |
|---|---|---|---|
| durasi | Waktu nyala dari entri cache, dinyatakan dalam detik. Ekspresi kebijakan diizinkan. | Ya | T/A |
| respons cache | Atur ke true ke cache respons HTTP saat ini. Jika atribut dihilangkan, hanya respons HTTP dengan kode 200 OK status yang di-cache. Ekspresi kebijakan diizinkan. |
Tidak. | false |
Penggunaan
- Bagian kebijakan: keluar
- Cakupan kebijakan: global, ruang kerja, produk, API, operasi
- Gateway: klasik, v2, konsumsi, dihost sendiri, ruang kerja
Catatan penggunaan
- API Management hanya menyimpan respons terhadap permintaan HTTP GET.
- Kebijakan ini hanya dapat digunakan sekali di bagian kebijakan.
- Sebaiknya konfigurasikan kebijakan batas tarif (atau kebijakan batas-demi-kunci tarif ) segera setelah pencarian cache apa pun. Ini membantu menjaga agar layanan backend Anda tidak kelebihan beban jika cache tidak tersedia.
Contoh
Contoh dengan kebijakan pencarian cache yang sesuai
Contoh ini menunjukkan cara menggunakan cache-store kebijakan bersama dengan cache-lookup kebijakan untuk men-cache respons dalam cache API Management bawaan.
Catatan
Tambahkan kebijakan batas tarif (atau kebijakan batas tarif berdasarkan kunci ) setelah pencarian cache untuk membantu membatasi jumlah panggilan dan mencegah kelebihan beban pada layanan backend jika cache tidak tersedia.
<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>
Contoh menggunakan ekspresi kebijakan
Contoh ini menunjukkan cara mengonfigurasi durasi penembolokan respons API Management yang cocok dengan penembolokan respons layanan backend sebagaimana ditentukan oleh arahan Cache-Control layanan backend.
<!-- 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; }" />
Untuk informasi selengkapnya, lihat Ekspresi kebijakan dan Variabel konteks.
Kebijakan terkait
Konten terkait
Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat:
- Tutorial: Mengubah dan melindungi API Anda
- Referensi Kebijakan untuk daftar lengkap pernyataan kebijakan dan pengaturannya
- Ekspresi kebijakan
- Mengatur atau mengedit kebijakan
- Menggunakan kembali konfigurasi kebijakan
- Repositori cuplikan kebijakan
- Repositori taman bermain kebijakan
- Toolkit kebijakan Azure API Management
- Mendapatkan bantuan Copilot untuk membuat, menjelaskan, dan memecahkan masalah kebijakan