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 berikutnya konten diminta.
Media CDN mendukung beberapa cara untuk memilih konten yang akan dibatalkan validasinya, sebagai berikut:
- Host dan jalur URL
- Awalan URL (karakter pengganti)
- Menyimpan tag dalam cache, termasuk tag bawaan untuk
status
,origin
, dancontent-type
Anda dapat menggabungkan parameter pembatalan validasi ini untuk menargetkan respons 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 validasi respons yang di-cache untuk host yang ditentukan. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
Pembatalan validasi jalur | Membatalkan validasi 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 |
Batalkan validasi 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 ini diperlakukan sebagaiAND
boolean. - Jika beberapa tag cache ditentukan, tag tersebut akan diperlakukan sebagai
OR
boolean. Misalnya, jika Anda menentukan--tags="status=404,origin=staging-origin"
, semua respons dengan tag cachestatus=404
akan dibatalkan validasinya, seperti semua respons dengan tag cacheorigin=staging-origin
.
Meng-cache tag
Tag cache (atau kunci pengganti) memungkinkan Anda membatalkan validasi konten berdasarkan metadata arbitrer.
Tag ini ditentukan oleh hal berikut:
- Menetapkan header HTTP
Cache-Tag
dalam respons origin, 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 tempat 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 yang di-cache dengan tag
status=200
,content-type=video/mp4
- Objek #2 yang di-cache dengan tag
status=404
,content-type=text/plain
- Objek yang di-cache #3 dengan tag
status=200
,content-type=application/x-mpegurl
- Objek #1 yang di-cache dengan tag
Anda mengeluarkan permintaan untuk membatalkan validasi objek dengan
tags="status=200,content-type=text/plain"
Hasil: Ketiga objek dalam cache akan diinvalidasi secara bersamaan. Hal ini untuk menghindari keharusan menentukan semua kemungkinan kombinasi tag, 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
akan dikirim ke klien. Jika Anda ingin mencegah header ini dikirim ke klien, gunakan fiturresponseHeadersToRemove
dirouteRule
untuk menghapus headerCache-Tag
. Sebagai contoh, lihat dokumentasi header kustom.
Tag bawaan
Respons secara otomatis memiliki tag cache berikut yang diterapkan untuk mendukung pembatalan validasi konten berdasarkan kode status, jenis MIME, atau asal tempat konten diambil. Anda tidak perlu menentukan tag ini dalam respons origin.
Tag | Detail |
---|---|
status=HTTP_STATUS_CODE
|
Tag cache Misalnya, Anda dapat membatalkan validasi semua respons HTTP 404 yang di-cache dengan menentukan |
content-type=MIME_TYPE
|
Tag cache Misalnya, jenis MIME playlist HLS adalah
Hal ini memungkinkan Anda membatalkan validasi jenis konten tertentu. |
origin=ORIGIN_NAME
|
Tag cache Nilai |
Batasan tag cache
Tag cache memiliki batasan berikut:
- Tidak boleh melebihi 120 byte per tag
- Total nama tag per objek yang di-cache tidak boleh melebihi 4 KiB (4.096 byte)
- Tidak boleh melebihi 50 tag per objek, tidak termasuk tag default yang ditambahkan oleh Media CDN
- Harus berupa nama token HTTP yang valid, seperti yang ditentukan dalam Bagian 3.2.6 HTTP RFC 7230
- Tidak boleh menyertakan awalan
status=
,origin=
, ataucontent-type=
bawaan (yang diabaikan).
Tag yang tidak termasuk dalam batas ini atau memenuhi persyaratan ini akan diabaikan. Dalam beberapa kasus (seperti saat header respons terlalu besar), respons akan gagal dan tidak di-cache.
Izin
Izin networkservices.EdgeCacheServices.invalidateCache
mengontrol akses ke invalidateCache
API.
Izin ini disertakan dalam peran Identity and Access Management networkservices.edgeCacheAdmin
dan networkservices.edgeCacheUser
.
Contoh
Contoh berikut menunjukkan cara membatalkan validasi 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 menurut 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 diinvalidasi, 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 dari 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.
- Agar pola jalur diinvalidasi, 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. Untuk mencocokkan nama host apa pun, hapus 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 validasi jalur yang tepat 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
Membatalkan 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 validasi
Pembatalan validasi cache di ribuan lokasi Media CDN biasanya selesai dalam 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 validasi memiliki batas kapasitas. Jika melebihi batas kapasitas pembatalan validasi,
Anda akan mendapatkan pesan error 429
HTTP dengan status RESOURCE_EXHAUSTED
.
Pembatalan validasi dapat berukuran berapa pun. Misalnya, membatalkan validasi
/images/my-image.png
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 invalidasi per menit.