Menyesuaikan kunci cache

Halaman ini menjelaskan cara menyesuaikan kunci cache Cloud CDN.

Mengubah konfigurasi kunci cache dapat menyebabkan penurunan rasio cache ditemukan secara tiba-tiba jika permintaan baru mulai menggunakan kunci cache yang berbeda dari entri kunci cache lama. Demikian pula, mengubah pembuat kunci cache tidak otomatis menginvalidasi entri yang di-cache jika permintaan baru menggunakan kunci yang sama dengan kunci cache lama. Untuk menginvalidasi entri yang di-cache, lihat Menginvalidasi konten yang di-cache.

Sebelum memulai

Halaman ini mengasumsikan pemahaman tentang Cloud CDN, kunci cache Cloud CDN, dan layanan backend yang di-load balance. Sebaiknya tinjau halaman-halaman ini sebelum melanjutkan.

Mengaktifkan Cloud CDN dan menyesuaikan kunci cache

Petunjuk ini mengaktifkan Cloud CDN untuk layanan backend yang di-load balance dan menyesuaikan kunci cache. Jika Anda belum memiliki load balancer untuk digunakan sebagai origin, lihat dokumentasi Load Balancer Aplikasi eksternal untuk mengetahui petunjuk cara membuatnya.

Bucket backend tidak menyertakan protokol atau host dalam kunci cache karena hal ini tidak memengaruhi cara objek dirujuk dalam bucket Cloud Storage. Namun, permintaan ini menyertakan serangkaian parameter string kueri yang khusus untuk Cloud Storage, yang dapat memengaruhi respons dan dapat diperluas dengan daftar nama parameter yang dapat disesuaikan.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika lebih dari satu load balancer terlampir ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk memperluas bagian Cache performance, klik Next.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, secara default, semua komponen dipilih. Hapus centang untuk komponen yang ingin Anda kecualikan dari kunci cache.

  7. Klik Selesai.

gcloud

Untuk mengecualikan satu atau beberapa komponen dari kunci cache untuk layanan backend, gunakan perintah gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --no-cache-key-include-protocol \
    --no-cache-key-include-host \
    --no-cache-key-include-query-string

Untuk bucket backend, gunakan perintah gcloud compute backend-buckets update.

API

Untuk mengecualikan satu atau beberapa komponen dari kunci cache, tentukan opsi konfigurasi di bagian cacheKeyPolicy dari cdnPolicy untuk backendServices resource.

Untuk layanan backend, gunakan panggilan API backendServices.update metode.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

Untuk bucket backend, gunakan panggilan API metode backendBuckets.update.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET

Tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": false,
      "includeHost": false,
      "includeQueryString": false
    }
  ]
}

Memperbarui kunci cache untuk menambahkan protokol, host, dan string kueri

Secara default, layanan backend yang dikonfigurasi untuk menggunakan Cloud CDN menyertakan semua komponen URI permintaan dalam kunci cache. Jika sebelumnya Anda menunjukkan bahwa satu atau beberapa komponen harus dikecualikan, Anda dapat menggunakan langkah-langkah berikut untuk menyertakannya kembali.

Petunjuk ini menambahkan protokol, host, dan string kueri ke kunci cache untuk layanan backend yang ada yang sudah mengaktifkan Cloud CDN.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika lebih dari satu load balancer terlampir ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk memperluas bagian Cache performance, klik Next.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, pilih kotak centang Protocol, Host, dan Query string.

  7. Klik Selesai.

gcloud

Untuk menambahkan satu atau beberapa komponen ke kunci cache untuk layanan backend, gunakan perintah gcloud compute backend-services update.

Setiap tanda yang tidak ditentukan akan dibiarkan tidak berubah.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-protocol \
    --cache-key-include-host \
    --cache-key-include-query-string

API

Untuk menambahkan satu atau beberapa komponen ke kunci cache, tentukan opsi konfigurasi di bagian cacheKeyPolicy dari cdnPolicy untuk resource backendServices.

Tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": true,
      "includeHost": true,
      "includeQueryString": true
    }
  ]
}

Memperbarui kunci cache untuk menggunakan daftar parameter string kueri yang disertakan atau dikecualikan

Petunjuk ini menetapkan kunci cache Cloud CDN untuk menggunakan daftar penyertaan atau daftar pengecualian dengan parameter string kueri.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika lebih dari satu load balancer terlampir ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk memperluas bagian Cache performance, klik Next.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, centang kotak Query string. Kemudian, pilih salah satu opsi berikut:

    • Jika Anda ingin menentukan parameter string kueri yang harus menjadi bagian dari kunci cache, pilih Include only selected.

    • Jika Anda ingin menentukan bahwa semua parameter string kueri kecuali yang Anda cantumkan disertakan dalam kunci cache, pilih Include all but selected.

  7. Klik Add parameter, lalu tentukan parameter.

  8. Klik Selesai.

gcloud

Untuk menentukan daftar penyertaan atau daftar pengecualian untuk layanan backend, tentukan parameter string kueri menggunakan perintah gcloud compute backend-services update.

Gunakan perintah ini untuk menyetel parameter string kueri user ke daftar penyertaan layanan backend.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-whitelist user

Gunakan perintah ini untuk menyetel parameter string kueri user ke daftar pengecualian layanan backend.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-blacklist user

Gunakan perintah ini untuk menyetel parameter string kueri user ke daftar penyertaan bucket backend.

gcloud compute backend-buckets update BACKEND_BUCKET \
    --cache-key-query-string-whitelist user

API

Untuk menentukan daftar penyertaan atau daftar pengecualian untuk layanan backend, tentukan parameter string kueri di bagian cacheKeyPolicy dari cdnPolicy untuk resource backendServices.

Untuk menentukan daftar penyertaan, tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringWhitelist": [QUERY_STRINGS]
    }
  ]
}

Ganti QUERY_STRINGS dengan daftar parameter string kueri yang dipisahkan koma.

Untuk menentukan daftar pengecualian, tambahkan cuplikan berikut:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringBlacklist": [QUERY_STRINGS]
    }
  ]
}

Memperbarui kunci cache untuk menggunakan header HTTP

Petunjuk ini menetapkan kunci cache Cloud CDN untuk menggunakan header HTTP, yang dapat mencakup variabel kustom yang diizinkan.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui./

  3. Klik Edit.

    Jika lebih dari satu load balancer terlampir ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk memperluas bagian Cache performance, klik Next.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, centang kotak HTTP headers.

  7. Untuk menentukan satu atau beberapa header HTTP, klik Add HTTP header.

  8. Klik Selesai.

gcloud

Gunakan perintah gcloud compute backend-services update dengan opsi cache-key-include-http-header.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-http-header=[HEADER_FIELD_NAMES,...]

Ganti HEADER_FIELD_NAMES dengan daftar nama header yang dipisahkan koma.

API

Tentukan header HTTP untuk kunci cache di bagian cacheKeyPolicy dari cdnPolicy untuk resource backendServices.

Tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeHttpHeaders": [HEADER_FIELD_NAMES]
    }
  ]
}

Ganti HEADER_FIELD_NAMES dengan daftar nama header yang dipisahkan koma.

Jika header kunci cache yang ditentukan juga ditentukan sebagai header permintaan kustom, Anda tidak dapat menggunakan rentang variabel lengkap.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan variabel kustom dengan header permintaan.

Memperbarui kunci cache untuk menggunakan cookie bernama

Petunjuk ini menyetel kunci cache Cloud CDN untuk menggunakan cookie HTTP.

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda perbarui.

  3. Klik Edit.

    Jika lebih dari satu load balancer terlampir ke origin, pilih load balancer yang ingin Anda perbarui dari menu Edit.

  4. Untuk memperluas bagian Cache performance, klik Next.

  5. Untuk Cache key, pilih Custom.

  6. Di bagian Cache key components, centang kotak Named cookies.

  7. Untuk menentukan satu atau beberapa cookie, klik Add named cookie.

  8. Klik Selesai.

gcloud

Gunakan perintah gcloud compute backend-services update dengan opsi cache-key-include-named-cookie.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-named-cookie=[NAMED_COOKIES,...]

Ganti NAMED_COOKIES dengan daftar cookie bernama yang dipisahkan koma.

API

Untuk menentukan daftar penyertaan atau daftar pengecualian untuk layanan backend, tentukan parameter string kueri di bagian cacheKeyPolicy dari cdnPolicy untuk resource backendServices.

Untuk menentukan daftar penyertaan, tambahkan cuplikan berikut ke isi permintaan JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeNamedCookies": [NAMED_COOKIES]
    }
  ]
}

Ganti NAMED_COOKIES dengan daftar parameter string kueri yang dipisahkan koma.

Langkah berikutnya