Pembatalan validasi cache, terkadang disebut pembersihan cache, adalah proses mendeklarasikan konten yang di-cache sebagai tidak valid. Hal ini menyebabkan entri menjadi dihapus dari cache, lalu diisi ulang dari server origin pada saat berikutnya konten yang diminta.
Media CDN mendukung beberapa cara untuk memilih konten menjadi tidak valid, sebagai berikut:
- Host dan Jalur URL
- Awalan URL (karakter pengganti)
- Tag cache, termasuk tag bawaan untuk
status
,origin
, dancontent-type
Anda dapat menggabungkan parameter pembatalan validasi ini untuk menargetkan cache tertentu dan meminimalkan beban origin pada pengisian cache berikutnya.
Sintaksis pembatalan validasi yang didukung
Sintaksis pembatalan validasi yang didukung adalah sebagai berikut:
Jenis | Sintaks | Contoh |
---|---|---|
Pembatalan validasi host | Membatalkan respons yang di-cache untuk host yang ditentukan. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
Pembatalan jalur | Membatalkan respons yang di-cache untuk jalur atau awalan jalur yang ditentukan. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
Pembatalan validasi tag cache pada kode status HTTP, nama asal, atau jenis MIME |
Membatalkan respons yang di-cache dengan tag yang cocok. Beberapa tag
diperlakukan sebagai OR boolean.
|
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
Catatan:
- Maksimal 10 tag cache dapat ditentukan dalam satu permintaan pembatalan validasi.
- Anda dapat menggabungkan
host
,path
, dantags
dalam satu permintaan pembatalan validasi. Nilai tersebut diperlakukan sebagaiAND
boolean. - Jika beberapa tag cache ditentukan, tag tersebut diperlakukan sebagai
OR
boolean. Sebagai misalnya, jika Anda menentukan--tags="status=404,origin=staging-origin"
, semua respons dengan tag cachestatus=404
menjadi tidak valid, seperti halnya semua respons dengan tag cacheorigin=staging-origin
.
Tag cache
Tag cache (atau kunci surrogate) memungkinkan Anda membatalkan validasi konten berdasarkan metadata arbitrer.
Tag ini ditentukan oleh hal berikut:
- Menyetel header HTTP
Cache-Tag
dalam respons origin, dengan tag ditetapkan sebagai daftar nilai yang dipisahkan oleh koma. - Tag bawaan berdasarkan kode status HTTP respons, jenis MIME
dari header respons HTTP
Content-Type
, atau nama origin yang respons dapat diambil.
Jika beberapa tag ditentukan dalam satu permintaan pembatalan validasi, tag tersebut
diperlakukan sebagai OR
boolean.
Perhatikan contoh berikut:
Anda memiliki objek yang di-cache berikut:
- Objek #1 dalam cache dengan tag
status=200
,content-type=video/mp4
- Objek #2 dalam cache dengan tag
status=404
,content-type=text/plain
- Objek #3 dalam cache dengan tag
status=200
,content-type=application/x-mpegurl
- Objek #1 dalam cache dengan tag
Anda mengeluarkan permintaan untuk membatalkan validasi objek dengan
tags="status=200,content-type=text/plain"
Hasil: Ketiga objek yang di-cache menjadi tidak valid secara bersamaan. Ini untuk tidak perlu menentukan semua kemungkinan kombinasi tag, beberapa di antaranya mungkin tidak diketahui.
Catatan:
- Tag cache default tidak disertakan dalam respons yang ditujukan kepada klien karena mencerminkan {i>header <i}yang ada (seperti baris status atau Content-Type) atau detail konfigurasi internal.
- Tag cache yang dikirim oleh origin di header respons HTTP
Cache-Tag
adalah dikirim ke klien. Jika Anda ingin mencegah agar data ini tidak dikirim ke klien, gunakan fiturresponseHeadersToRemove
dirouteRule
untuk menghapus headerCache-Tag
. Misalnya, lihat header kustom dokumentasi layanan.
Tag bawaan
Respons akan otomatis menerapkan tag cache berikut ke dukungan membatalkan validasi konten berdasarkan kode status, jenis MIME, atau asal yang konten tersebut diambil. Anda tidak perlu menentukan tag ini di origin yang dihasilkan.
Tag | Detail |
---|---|
status=HTTP_STATUS_CODE
|
Tag cache Misalnya, Anda dapat membatalkan semua respons HTTP 404 yang di-cache dengan
yang menentukan |
content-type=MIME_TYPE
|
Tag cache Misalnya, jenis MIME playlist HLS adalah
Tindakan ini memungkinkan Anda membatalkan jenis konten tertentu. |
origin=ORIGIN_NAME
|
Tag cache Referensi nilai |
Batasan tag cache
Tag cache memiliki batasan berikut:
- Tidak boleh melebihi 120 byte per tag
- Tidak boleh melebihi 1 KiB (1.024 byte) dari total nama tag per objek yang di-cache
- Tidak boleh melebihi 10 tag per objek, tidak termasuk tag default yang ditambahkan oleh Media CDN
- Harus berupa nama token HTTP yang valid, seperti yang ditetapkan di Bagian 3.2.6 HTTP RFC 7230
- Tidak boleh menyertakan
status=
,origin=
, atau Awalancontent-type=
(yang diabaikan).
Tag yang tidak berada dalam batas ini atau memenuhi persyaratan tersebut diabaikan. Dalam beberapa kasus (seperti saat header respons terlalu besar), respons gagal dan tidak di-cache.
Izin
networkservices.EdgeCacheServices.invalidateCache
izin mengontrol akses ke API invalidateCache
.
Izin ini disertakan dalam networkservices.edgeCacheAdmin
dan
networkservices.edgeCacheUser
Peran Identity and Access Management.
Contoh
Contoh berikut menunjukkan cara membatalkan respons yang di-cache untuk Layanan Media CDN.
Anda dapat menggabungkan host
, path
, dan tags
dalam satu permintaan pembatalan untuk membatalkan validasi kumpulan konten tertentu.
Membatalkan validasi oleh host
Konsol
- Buka halaman Media CDN di Konsol Google Cloud.
Buka Media CDN - Klik tab Services.
- Klik layanan Anda.
- Klik tab Pembatalan validasi cache.
- Agar pola jalur tidak divalidasi, masukkan nama host, diikuti dengan jalur.
Misalnya:
media.example.com/cats
ataumedia.example.com/cat*
. Nama host tidak boleh menyertakan*
.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --host=HOST
Ganti kode berikut:
SERVICE_NAME
dengan nama Layanan Edge Cache.HOST
dengan nama host lengkap entri cache menjadi tidak valid.
Contoh:
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --host="media.example.com"
Membatalkan validasi menurut jalur
Konsol
- Buka halaman Media CDN di Konsol Google Cloud.
Buka Media CDN - Klik tab Services.
- Klik layanan Anda.
- Klik tab Pembatalan validasi cache.
- Untuk membatalkan validasi pola jalur, masukkan jalur.
Misalnya:
/videos/funny.mp4
atau/segments/e94a6b1f731/*
.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --path=PREFIX
Ganti kode berikut:
SERVICE_NAME
dengan nama Layanan Edge Cache.HOST
dengan nama host entri cache menjadi tidak valid. Agar cocok dengan nama host, hapus host penanda.PREFIX
dengan awalan jalur yang diakhiri dengan '*' sehingga cocok dengan entri cache menjadi tidak valid.
Contoh:
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --path="/segments/e94a6b1f731/*"
Anda juga dapat membatalkan jalur tepat dengan menghilangkan *
di akhir
karakter. Meneruskan --path="/videos/funny.mp4"
akan membatalkan
respons yang disimpan dalam cache (jika ada) yang cocok dengan jalur tersebut.
Membatalkan validasi menurut tag cache
Konsol
Pembatalan validasi berdasarkan tag cache tidak didukung di Konsol Google Cloud.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --tags=TAGS
Ganti kode berikut:
SERVICE_NAME
dengan nama Layanan Edge Cache.TAGS
dengan daftar tag yang dipisahkan koma.
Contoh:
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --tags="status=404,content-type=text/plain"
Latensi pembatalan
Pembatalan validasi cache di ribuan lokasi Media CDN biasanya selesai dalam satu menit secara global.
Dalam beberapa kasus, pembatalan validasi bisa memakan waktu lebih lama, tergantung pada beban sistem, konektivitas, dan volume konten yang menjadi tidak valid.
Logging
Jika log audit diaktifkan, panggilan pembatalan validasi akan dicatat ke Cloud Logging.
Batasan
Pembatalan kapasitas dibatasi. Jika Anda melebihi batas kapasitas validasi,
Anda mendapatkan pesan {i>error<i}
HTTP 429
dengan status RESOURCE_EXHAUSTED
.
Pembatalan validasi bisa berapa pun. Misalnya, membuat validasi
/images/my-image.png
dihitung sebagai satu pembatalan validasi. Membatalkan validasi /images/*
juga
dihitung sebagai satu pembatalan validasi.
Perilaku ini berbeda dengan perilaku pada di Cloud CDN. Cloud CDN mendukung satu pembatalan validasi per menit.