All Products
Search
Document Center

API Gateway:Caching plug-ins

Last Updated:Jun 16, 2026

Plug-in caching menyimpan respons backend di API Gateway, sehingga mengurangi beban backend dan memperpendek waktu respons.

1. Catatan penggunaan

  • Hanya respons terhadap metode GET yang di-cache.

  • Anda tidak dapat mengaktifkan cache pada permintaan yang menggunakan default group second-level domain. Domain tingkat kedua grup default hanya digunakan untuk pengujian dan memiliki batas 1.000 panggilan per hari, atau 100 panggilan per hari untuk wilayah di luar Tiongkok Daratan dan di Tiongkok (Hong Kong).

  • Tambahkan konfigurasi berikut untuk membedakan cache:

    • varyByApp: Membedakan cache berdasarkan aplikasi.

    • varyByParameters: Membedakan cache berdasarkan nilai parameter. Nama parameter harus sesuai dengan nama yang didefinisikan dalam API yang terikat.

    • varyByHeaders: Membedakan cache berdasarkan header permintaan, seperti Accept dan Accept-Language.

  • Setiap pengguna memiliki ruang cache sebesar 1 MB per wilayah. Ruang tersebut dilepaskan berdasarkan kebijakan kedaluwarsa. Jika cache penuh, respons berikutnya tidak akan di-cache.

  • Jika respons backend menyertakan header Cache-Control, API Gateway akan meng-cache respons tersebut sesuai kebijakan tersebut. Jika tidak, respons akan di-cache selama durasi yang ditentukan oleh parameter duration dalam plug-in caching.

  • Waktu kedaluwarsa maksimum adalah 48 jam (172.800 detik). Nilai yang melebihi batas ini dianggap tidak valid dan secara otomatis diatur menjadi 48 jam.

  • Secara default, API Gateway mengabaikan header Cache-Control dari klien. Gunakan parameter clientCacheControl untuk mengubah perilaku ini. Parameter mode menerima nilai-nilai berikut:

    • off: Mengabaikan header Cache-Control dalam semua permintaan klien.

    • all: Memproses header Cache-Control dalam semua permintaan klien.

    • app: Memproses header Cache-Control hanya untuk permintaan yang AppId-nya ada dalam daftar konfigurasi apps.

  • Secara default, API Gateway hanya meng-cache header respons Content-Type, Content-Encoding, dan Content-Language. Untuk meng-cache header tambahan, konfigurasikan parameter cacheableHeaders.

2. Konfigurasi plug-in

Konfigurasikan plug-in dalam format JSON atau YAML. Kedua format menggunakan skema yang sama dan dapat dikonversi menggunakan alat yaml to json. Templat berikut menggunakan format YAML.

---
varyByApp: false    # Menentukan apakah akan mencocokkan dan menyajikan respons cache berdasarkan ID aplikasi pemanggil API. Nilai default: false.
varyByParameters:   # Menentukan apakah akan mencocokkan dan menyajikan respons cache berdasarkan nilai parameter tertentu.
- userId            # Nama parameter backend. Jika parameter backend dipetakan ke parameter dengan nama berbeda, atur parameter ini ke nama parameter yang dipetakan tersebut.
varyByHeaders:      # Menentukan apakah akan mencocokkan dan menyajikan respons cache berdasarkan header permintaan yang berbeda.
- Accept            # Respons cache dicocokkan dan disajikan berdasarkan header Accept.
clientCacheControl: # API Gateway menentukan cara memproses header Cache-Control dari permintaan klien berdasarkan pengaturan clientCacheControl.
  mode: "app"       # Nilai yang valid: off, all, dan apps. Nilai default: off. off berarti API Gateway mengabaikan header Cache-Control dari semua permintaan klien. all berarti API Gateway memproses header Cache-Control dari semua permintaan klien. apps berarti API Gateway hanya memproses header Cache-Control dari permintaan klien yang ID aplikasinya termasuk dalam daftar apps yang dikonfigurasi.
  apps:             # Daftar ID aplikasi. Jika mode diatur ke app, API Gateway hanya memproses header Cache-Control dari permintaan klien yang ID aplikasinya ada dalam daftar ini.
  - 1992323         # Contoh ID aplikasi. Bukan AppKey.
  - 1239922         # Contoh ID aplikasi. Bukan AppKey.
cacheableHeaders:   # Bidang header respons yang dapat di-cache. Secara default, hanya bidang header `Content-Type`, `Content-Length`, dan `Content-Language` yang dapat di-cache.
- X-Customer-Token  # Nama header respons yang dapat di-cache.
duration: 3600      # Periode penyimpanan default respons dalam cache. Satuan: detik.        

3. Aturan eksekusi

  • Saat terjadi cache hit di API Gateway, respons menyertakan header X-Ca-Caching: true.

4. Batasan

  • Ukuran metadata plug-in dibatasi hingga 50 KB.

  • Badan respons yang ukurannya melebihi 128 KB tidak dapat di-cache.

  • Untuk instans Serverless, batas total cache untuk setiap pengguna adalah 1 MB per wilayah. Untuk instans khusus, lihat spesifikasi instans.