Pembatalan validasi cache, yang terkadang disebut pembersihan cache, adalah proses mendeklarasikan konten yang di-cache sebagai tidak valid. Hal ini menyebabkan entri dihapus dari cache, lalu diisi ulang dari server asal saat konten tersebut diminta kembali.
Media CDN mendukung beberapa cara pemilihan konten yang akan dibatalkan, 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 respons cache tertentu dan meminimalkan beban asal pada pengisian cache berikutnya.
Sintaksis pembatalan validasi yang didukung
Sintaksis pembatalan validasi yang didukung adalah sebagai berikut:
Jenis | Sintaksis | 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. Misalnya, jika Anda menentukan--tags="status=404,origin=staging-origin"
, semua respons dengan tag cachestatus=404
akan menjadi tidak valid, seperti halnya semua respons dengan tag cacheorigin=staging-origin
.
Tag cache
Tag cache (atau kunci surrogate) memungkinkan Anda membatalkan konten berdasarkan metadata arbitrer.
Tag ini ditentukan oleh hal berikut:
- Menetapkan header HTTP
Cache-Tag
dalam respons asal, dengan tag yang ditentukan sebagai daftar nilai yang dipisahkan koma. - Tag bawaan berdasarkan kode status HTTP respons, jenis MIME dari header respons HTTP
Content-Type
, atau nama asal respons diambil.
Jika beberapa tag ditentukan dalam satu permintaan pembatalan validasi, tag tersebut akan 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. Hal ini bertujuan agar Anda tidak perlu menentukan semua kemungkinan kombinasi tag, yang beberapa di antaranya mungkin tidak diketahui.
Catatan:
- Tag cache default tidak disertakan dalam respons yang ditampilkan kepada klien karena tag tersebut mencerminkan header yang ada (seperti baris status atau Content-Type) atau detail konfigurasi internal.
- Tag cache yang dikirim oleh origin di header respons HTTP
Cache-Tag
dikirim ke klien. Jika Anda ingin mencegahnya dikirim ke klien, gunakan fiturresponseHeadersToRemove
dirouteRule
untuk menghapus headerCache-Tag
. Misalnya, lihat dokumentasi header kustom.
Tag bawaan
Respons akan otomatis menerapkan tag cache berikut untuk mendukung pembatalan validasi konten berdasarkan kode status, jenis MIME, atau asal konten diambil. Anda tidak perlu menentukan tag ini dalam respons asal.
Tag | Detail |
---|---|
status=HTTP_STATUS_CODE
|
Tag cache Misalnya, Anda dapat membatalkan semua respons HTTP 404 yang di-cache dengan
menetapkan |
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 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 lebih dari 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 awalan
status=
,origin=
, ataucontent-type=
bawaan (yang diabaikan).
Tag yang tidak berada dalam batas ini atau memenuhi persyaratan ini akan diabaikan. Dalam beberapa kasus (misalnya saat header respons terlalu besar), respons akan gagal dan tidak di-cache.
Izin
Izin networkservices.EdgeCacheServices.invalidateCache
mengontrol akses ke API invalidateCache
.
Izin ini disertakan dalam peran Pengelolaan Akses dan Identitas networkservices.edgeCacheAdmin
dan
networkservices.edgeCacheUser
.
Contoh
Contoh berikut menunjukkan cara membatalkan respons yang di-cache untuk layanan Media CDN.
Anda dapat menggabungkan kolom host
, path
, dan tags
dalam satu permintaan pembatalan validasi 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 yang akan dibatalkan validasinya.
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 yang akan dibatalkan validasinya. Agar cocok dengan nama host apa pun, hilangkan tanda host.PREFIX
dengan awalan jalur yang diakhiri dengan '*' yang cocok dengan entri cache yang akan dibatalkan validasinya.
Contoh:
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --path="/segments/e94a6b1f731/*"
Anda juga dapat membatalkan jalur persis dengan menghapus karakter *
di akhir. Meneruskan --path="/videos/funny.mp4"
akan membatalkan respons yang di-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 waktu satu menit secara global.
Dalam beberapa kasus, pembatalan validasi dapat memerlukan waktu lebih lama, bergantung pada beban sistem, konektivitas, dan volume konten yang dibatalkan validasinya.
Logging
Jika log audit diaktifkan, panggilan pembatalan validasi akan dicatat ke Cloud Logging.
Batasan
Pembatalan kapasitas dibatasi. Jika melebihi batas kapasitas validasi,
Anda akan mendapatkan pesan error HTTP 429
dengan status RESOURCE_EXHAUSTED
.
Pembatalan validasi bisa berapa pun. Misalnya, membatalkan validasi
/images/my-image.png
akan dihitung sebagai satu pembatalan validasi. Membatalkan validasi /images/*
juga
dihitung sebagai satu pembatalan validasi.
Perilaku ini berbeda dengan perilaku di Cloud CDN. Cloud CDN mendukung satu pembatalan validasi per menit.