Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.
Mengonfigurasi cara nilai yang di-cache dihapus dari cache.
Kebijakan ini ditujukan untuk digunakan dalam penyimpanan dalam cache jangka pendek tujuan umum. Kebijakan ini digunakan bersama dengan kebijakan PopulateCache (untuk menulis entri) dan kebijakan LookupCache (untuk membaca entri cache).
Untuk meng-cache respons resource backend, lihat kebijakan ResponseCache.
Kebijakan ini adalah Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau penggunaan, bergantung pada lisensi Apigee Anda. Untuk informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.
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 | Kehadiran |
---|---|---|---|
name |
Nama internal kebijakan. Nilai atribut Secara opsional, gunakan elemen |
T/A | Wajib |
continueOnError |
Tetapkan ke Tetapkan ke |
false | Opsional |
enabled |
Tetapkan ke Tetapkan ke |
benar | Opsional |
async |
Atribut ini tidak digunakan lagi. |
false | Tidak digunakan lagi |
Elemen <DisplayName>
Gunakan selain atribut name
untuk melabeli kebijakan di editor proxy UI pengelolaan dengan nama bahasa alami yang berbeda.
<DisplayName>Policy Display Name</DisplayName>
Default |
T/A Jika Anda menghapus elemen ini, nilai atribut |
---|---|
Kehadiran | Opsional |
Jenis | String |
Elemen <CacheContext>/<APIProxyName>
Menentukan nama aplikasi yang menambahkan entri cache.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Atribut
Atribut | Deskripsi | Default | Kehadiran | 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 bersifat wajib 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>
ditambahkan dengan
nilai elemen <Scope>
atau nilai <Prefix>
. Misalnya, hal 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 informasi selengkapnya, lihat
Menggunakan kunci cache.
Elemen <CacheResource>
Menentukan cache tempat pesan akan disimpan.
Hapus elemen ini sepenuhnya jika kebijakan ini (dan kebijakan PopulateCache dan 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 Cache tujuan umum.
Elemen <CacheKey>/<KeyFragment>
Menentukan nilai yang harus disertakan dalam kunci cache. Tentukan variabel untuk melakukan dereferensi
dengan atribut ref
, atau nilai tetap.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Default: |
T/A |
Kehadiran: |
Opsional |
Jenis: |
T/A |
Saat runtime, Apigee membuat kunci cache dengan menambahkan nilai yang diperoleh dari elemen <Scope>
atau elemen <Prefix>
, ke penyambungan nilai yang di-resolve dari setiap elemen <KeyFragment>
.
Untuk informasi selengkapnya, lihat
Bekerja
dengan kunci cache.
Atribut
Atribut | Deskripsi | Default | Kehadiran | Jenis |
---|---|---|---|---|
ref | Variabel tempat nilai akan diambil. 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 |
Elemen <Prefix>
menggantikan elemen <Scope>
.
Saat runtime, Apigee membuat kunci cache dengan menambahkan nilai yang diperoleh dari elemen <Scope>
atau elemen <Prefix>
, ke penyambungan nilai yang di-resolve dari setiap elemen <KeyFragment>
.
Untuk 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 | Kehadiran | Jenis |
---|---|---|---|---|
ref | Variabel tempat nilai akan diambil. Tidak boleh digunakan jika elemen ini berisi nilai literal. | T/A | Opsional | String |
Elemen <PurgeChildEntries>
true
untuk menghapus entri cache yang memiliki nilai <Prefix>
yang sama
yang dikonfigurasi untuk kebijakan ini, meskipun instance kebijakan PopulateCache
yang memuat item tersebut ke dalam cache juga menggunakan berbagai
elemen <KeyFragment>
.
Dengan membatalkan validasi semua entri cache dari nilai awalan yang sama, Anda dapat 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 menggunakan bentuk berikut saat cakupan ditetapkan 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 untuk elemen <Scope>
ditampilkan di bawah.
Untuk informasi selengkapnya, lihat Menggunakan 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 di awal dalam bentuk orgName __ envName __. Jika Anda menentukan entri |
Application |
Nama proxy API digunakan sebagai awalan. Kunci cache ditambahkan di awal dalam bentuk orgName__envName__applicationName. |
Proxy |
Konfigurasi ProxyEndpoint digunakan sebagai awalan. Kunci cache ditambahkan di awal dalam bentuk orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName . |
Target |
Konfigurasi TargetEndpoint digunakan sebagai awalan. Kunci cache ditambahkan di awal dalam bentuk orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName . |
Exclusive |
Default. Ini adalah yang paling spesifik, sehingga menimbulkan risiko tabrakan namespace minimal dalam cache tertentu. Awalan adalah salah satu dari dua bentuk berikut:
Kunci cache ditambahkan di awal dalam bentuk orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName Misalnya, string lengkap 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 | Kehadiran | Jenis |
---|---|---|---|---|
ref | Variabel tempat nilai akan diambil. Tidak boleh digunakan jika elemen ini berisi nilai literal. | T/A | Opsional | String |
Catatan penggunaan
Caching tujuan umum dengan kebijakan PopulateCache, 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 Cache tujuan umum. Untuk mengetahui informasi selengkapnya tentang penyimpanan data yang mendasarinya, 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 jika Anda mengembangkan aturan error untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Awalan kode error
T/A
Error runtime
Kebijakan ini tidak menampilkan error runtime.
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 belum dibuat di komponen Message Processor tertentu. | build |
Variabel error
T/A
Contoh respons error
T/A