Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Mengonfigurasi cara nilai yang di-cache harus dihapus dari cache.
Kebijakan ini ditujukan untuk digunakan dalam caching jangka pendek tujuan umum. Kebijakan ini digunakan bersama dengan kebijakan Populate Cache (untuk menulis entri) dan kebijakan Lookup Cache (untuk membaca entri cache).
Untuk menyimpan respons resource backend dalam cache, lihat kebijakan Cache Respons.
Referensi elemen
Berikut adalah daftar elemen yang dapat Anda konfigurasi pada kebijakan ini.
<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>
Atribut <InvalidateCache>
Tabel berikut menjelaskan atribut yang umum untuk semua elemen induk kebijakan:
| Atribut | Deskripsi | Default | Ketersediaan |
|---|---|---|---|
name |
Nama internal kebijakan. Nilai atribut Secara opsional, gunakan elemen |
T/A | Wajib |
continueOnError |
Tetapkan ke Setel ke |
salah | Opsional |
enabled |
Setel ke Setel ke |
true | Opsional |
async |
Atribut ini tidak digunakan lagi. |
salah | Tidak digunakan lagi |
<DisplayName> elemen
Gunakan selain atribut name untuk memberi label kebijakan di
editor proxy UI dengan nama natural language yang berbeda.
<DisplayName>Policy Display Name</DisplayName>
| Default |
T/A Jika Anda menghapus elemen ini, nilai atribut |
|---|---|
| Ketersediaan | Opsional |
| Jenis | String |
Elemen <CacheContext>/<APIProxyName>
Menentukan nama aplikasi yang menambahkan entri cache.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Atribut
| Atribut | Deskripsi | Default | Ketersediaan | Jenis |
|---|---|---|---|---|
| ref | Variabel dengan nama aplikasi. | T/A | Opsional | String |
Elemen <CacheContext>
Menentukan cara membuat kunci cache saat nilai elemen Prefix tidak
ditentukan, atau untuk menghapus entri cache yang ditambahkan oleh proxy API lain.
<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>
Digunakan untuk membuat CacheKey. Nilai untuk APIProxyName, ProxyName, dan TargetName wajib ada jika awalan CacheKey (yaitu, awalan kustom) tidak digunakan untuk menghapus entri cache yang ditambahkan oleh proxy API lain.
Elemen <CacheKey>
Mengonfigurasi pointer unik ke bagian data yang disimpan dalam cache.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
|
Default: |
T/A |
|
Kehadiran: |
Wajib |
|
Jenis: |
T/A |
<CacheKey> membuat nama setiap bagian data yang disimpan dalam
cache.
Saat runtime, nilai <KeyFragment> diawali dengan nilai elemen
<Scope> atau nilai <Prefix>. Misalnya, berikut menghasilkan kunci cache
UserToken__apiAccessToken__<value_of_client_id>:
<CacheKey>
<Prefix>UserToken</Prefix>
<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />
</CacheKey>Anda menggunakan elemen <CacheKey> bersama dengan
<Prefix> dan <Scope>. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.
Elemen <CacheResource>
Menentukan cache tempat pesan harus disimpan.
Hapus elemen ini sepenuhnya jika kebijakan ini (dan kebijakan PopulateCache serta LookupCache yang sesuai) menggunakan cache bersama yang disertakan.
<CacheResource>cache_to_use</CacheResource>
|
Default: |
T/A |
|
Kehadiran: |
Opsional |
|
Jenis: |
String |
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi cache, lihat Membuat dan mengedit cache lingkungan.
Elemen <CacheKey>/<KeyFragment>
Menentukan nilai yang harus disertakan dalam kunci cache, sehingga membuat namespace untuk mencocokkan permintaan dengan respons yang di-cache.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
|
Default: |
T/A |
|
Kehadiran: |
Opsional |
|
Jenis: |
T/A |
Ini dapat berupa kunci (nama statis yang Anda berikan) atau nilai (entri dinamis yang ditetapkan dengan mereferensikan variabel). Semua fragmen yang ditentukan digabungkan (ditambah awalan) untuk membuat kunci cache.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Anda menggunakan elemen <KeyFragment> bersama dengan
<Prefix> dan <Scope>. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.
Atribut
| Atribut | Deskripsi | Default | Ketersediaan | Jenis |
|---|---|---|---|---|
| ref | Variabel yang akan diambil nilainya. Tidak boleh digunakan jika elemen ini berisi nilai literal. | T/A | Opsional | String |
Elemen <CacheKey>/<Prefix>
Menentukan nilai yang akan digunakan sebagai awalan kunci cache.
<Prefix>prefix_string</Prefix>
|
Default: |
T/A |
|
Kehadiran: |
Opsional |
|
Jenis: |
String |
Gunakan nilai ini, bukan <Scope>, jika Anda ingin menentukan nilai Anda sendiri, bukan nilai yang di-enumerasi <Scope>. Jika ditentukan,
<Prefix> menambahkan nilai kunci cache untuk entri yang ditulis ke cache. Nilai elemen
<Prefix> menggantikan nilai elemen <Scope>.
Anda menggunakan elemen <Prefix> bersama dengan
<CacheKey> dan <Scope>. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.
Elemen <CacheContext>/<ProxyName>
Menentukan nama proxy yang datanya di-cache.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
|
Default: |
T/A |
|
Kehadiran: |
Opsional |
|
Jenis: |
String |
Atribut
| Atribut | Deskripsi | Default | Ketersediaan | Jenis |
|---|---|---|---|---|
| ref | Variabel yang akan diambil nilainya. Tidak boleh digunakan jika elemen ini berisi nilai literal. | T/A | Opsional | String |
Elemen <PurgeChildEntries>
true untuk menghapus entri cache yang memiliki nilai yang sama dengan yang ditetapkan oleh elemen
<KeyFragment> yang dikonfigurasi untuk kebijakan ini. Nilai di bagian lain dari
kunci cache, seperti pada elemen <Prefix>, tidak dipertimbangkan.
Perhatikan bahwa elemen <KeyFragment> harus ditentukan. Jika tidak,
menetapkan nilai benar untuk <PurgeChildEntries> dapat menyebabkan penghapusan semua entri dalam
cache.
Membatalkan semua entri cache dengan nilai fragmen kunci yang sama dapat menjadi cara yang berguna untuk menghapus beberapa entri terkait sekaligus.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
|
Default: |
false |
|
Kehadiran: |
Opsional |
|
Jenis: |
Boolean |
Elemen <Scope>
Enumerasi yang digunakan untuk membuat awalan untuk kunci cache saat elemen <Prefix>
tidak disediakan dalam elemen <CacheKey>.
<Scope>scope_enumeration</Scope>
|
Default: |
"Eksklusif" |
|
Kehadiran: |
Opsional |
|
Jenis: |
String |
Setelan <Scope> menentukan kunci cache yang ditambahkan di awal sesuai dengan
nilai <Scope>. Misalnya, kunci cache akan berbentuk berikut saat
cakupan disetel ke Exclusive:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].
Jika elemen <Prefix> ada di <CacheKey>, elemen tersebut akan menggantikan nilai elemen <Scope>. Nilai yang valid mencakup enumerasi
di bawah.
Anda menggunakan elemen <Scope> bersama dengan
<CacheKey> dan <Prefix>. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.
Nilai yang dapat diterima
| Nilai Cakupan | Deskripsi |
|---|---|
Global |
Kunci cache dibagikan ke semua proxy API yang di-deploy di lingkungan. Kunci cache ditambahkan dalam bentuk orgName __ envName __. Jika Anda menentukan entri |
Application |
Nama proxy API digunakan sebagai awalan. Kunci cache ditambahkan dalam bentuk orgName__envName__applicationName. |
Proxy |
Konfigurasi ProxyEndpoint digunakan sebagai awalan. Kunci cache diawali dalam bentuk orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName . |
Target |
Konfigurasi TargetEndpoint digunakan sebagai awalan. Kunci cache yang ditambahkan dalam bentuk orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName . |
Exclusive |
Default. Ini adalah yang paling spesifik, sehingga meminimalkan risiko konflik namespace dalam cache tertentu. Awalan memiliki salah satu dari dua bentuk berikut:
Kunci cache yang ditambahkan dalam bentuk orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName Misalnya, string lengkapnya mungkin terlihat seperti ini: apifactory__test__weatherapi__16__default__apiAccessToken |
Elemen <CacheContext>/<TargetName>
Menentukan nama endpoint target yang datanya di-cache.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
|
Default: |
T/A |
|
Kehadiran: |
Opsional |
|
Jenis: |
String |
Atribut
| Atribut | Deskripsi | Default | Ketersediaan | Jenis |
|---|---|---|---|---|
| ref | Variabel yang akan diambil nilainya. Tidak boleh digunakan jika elemen ini berisi nilai literal. | T/A | Opsional | String |
Catatan penggunaan
Caching tujuan umum dengan kebijakan Populate Cache, kebijakan LookupCache, dan
kebijakan InvalidateCache menggunakan cache yang Anda konfigurasi atau cache bersama yang disertakan secara
default. Dalam sebagian besar kasus, cache bersama yang mendasarinya akan memenuhi kebutuhan Anda. Untuk menggunakan cache ini,
cukup hapus elemen <CacheResource>.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi cache, lihat Membuat dan mengedit cache lingkungan. Untuk mengetahui informasi selengkapnya tentang penyimpanan data pokok, lihat Internal cache.
Kode error
Bagian ini menjelaskan pesan error dan variabel alur yang ditetapkan saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda sedang mengembangkan aturan fault untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.
Awalan kode error
T/A
Error runtime
Kebijakan ini tidak menampilkan error runtime apa pun.
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
| Nama error | Penyebab | Perbaiki |
|---|---|---|
InvalidCacheResourceReference |
Error ini terjadi jika elemen <CacheResource> dalam kebijakan InvalidateCache ditetapkan ke nama yang tidak ada di lingkungan tempat proxy API di-deploy. |
build |
CacheNotFound |
Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error tidak dibuat pada komponen Pemroses Pesan tertentu. | build |
Variabel kesalahan
T/A
Contoh respons error
T/A