Halaman ini membahas cache bawaan Cloud Storage. Cloud Storage juga kompatibel dengan CDN pihak ketiga.
Ringkasan
Jika objek Cloud Storage di-cache, salinan data objek tersebut disimpan di cache Google atau cache internet, sehingga objek Anda dapat disajikan lebih cepat dalam permintaan mendatang. Meskipun penyimpanan cache dapat meningkatkan performa, Anda juga berisiko menyajikan konten lama jika Anda melakukan pembaruan pada objek tetapi cache tetap menyajikan versi sebelumnya dari objek tersebut.
Cache bawaan untuk Cloud Storage
Cloud Storage dapat berperilaku seperti Jaringan Penayangan Konten (CDN) tanpa memerlukan pekerjaan di pihak Anda, karena data objek disimpan dalam cache di jaringan Cloud Storage jika metadata Cache-Control
-nya disetel untuk mengizinkan penyimpanan dalam cache dan kriteria berikut terpenuhi:
- Objek dapat diakses secara publik.
- Objek tidak disimpan dalam bucket yang mengaktifkan Requester Pay dan tidak berada dalam perimeter layanan Virtual Private Cloud.
- Objek tidak dienkripsi menggunakan kunci enkripsi yang dikelola pelanggan atau kunci enkripsi yang disediakan pelanggan.
Cloud Storage mengikuti nilai standar untuk
Cache-Control
, seperti berikut:
public
: objek dapat di-cache.private
: objek tidak akan di-cache oleh Cloud Storage, tetapi dapat di-cache dalam cache lokal pemohon.no-cache
: objek dapat di-cache, tetapi tidak dapat digunakan untuk memenuhi permintaan mendatang, kecuali telah divalidasi terlebih dahulu oleh Cloud Storage.no-store
: objek tidak dapat di-cache.max-age=TIME_IN_SECONDS
: durasi waktu objek dapat di-cache sebelum dianggap tidak berlaku. Anda dapat menetapkanmax-age
ke durasi waktu berapa pun. Objek yang tidak berlaku tidak disajikan dari cache, kecuali dalam kondisi khusus.
Untuk menetapkan metadata Cache-Control
untuk objek, lihat
Mengedit metadata objek.
Perilaku penyimpanan dalam cache bawaan dengan kebijakan Penolakan IAM
Jika ada kebijakan IAM Deny tingkat organisasi yang
membatasi akses baca untuk objek dari ID akun utama allUsers
,
caching bawaan akan dinonaktifkan untuk objek, meskipun ada kebijakan IAM
level bucket yang memberikan akses baca untuk objek ke allUsers
.
Namun, jika kebijakan IAM Deny hanya membatasi pengguna individual, cache bawaan tetap diaktifkan untuk objek.
Pertimbangan performa
Performa dapat jauh lebih baik untuk objek yang dapat di-cache secara publik. Jika Anda memiliki objek yang digunakan untuk mengontrol banyak klien dan, sebagai akibatnya, ingin menonaktifkan caching untuk memberikan data terbaru:
Sebaiknya setel metadata
Cache-Control
objek kepublic
denganmax-age
yang berdurasi 15-60 detik. Sebagian besar aplikasi dapat menoleransi objek yang tidak berlaku lagi selama beberapa detik, sebagai imbalan atas peningkatan performa.Gunakan
Cache-Control: no-store
untuk suatu objek guna menunjukkan bahwa objek tersebut tidak boleh di-cache untuk permintaan berikutnya di cache mana pun.
Langkah berikutnya
- Baca selengkapnya tentang metadata
Cache-Control
. - Pelajari lebih lanjut perintah
Cache-Control
RFC.