Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk titik akhir REST, Anda dapat memengaruhi cara Penyusun API Data (DAB) menggunakan cache hasil kueri internalnya dengan Cache-Control header permintaan.
Penting
Jika penembolokan dinonaktifkan dalam konfigurasi runtime, arahan ini diabaikan dan kueri berjalan normal.
Nilai Cache-Control yang didukung
| Nilai | Perilaku |
|---|---|
no-cache |
Memaksa DAB untuk melewati cache L1 dan L2, mengambil data baru dari database, dan memperbarui cache dengan hasil baru. |
no-store |
Memberi tahu DAB untuk tidak menyimpan respons sama sekali (tidak menyimpan di L1 atau L2, dan tidak mencoba mengambil dari cache). |
Perilaku
- Pencocokan arahan tidak peka huruf besar/kecil.
- DAB tidak menafsirkan arahan standar
Cache-Controllainnya seperti max-age atau max-stale. - Hanya berlaku untuk operasi kueri REST. Tidak digunakan untuk arahan cache tingkat permintaan GraphQL.
- Nilai header HTTP permintaan Cache-Control mengontrol cache L1 dan L2.
Nota
DAB tidak mengatur header respons kontrol cache untuk operasi cache apa pun.
Direktif: no-cache
Memaksa bacaan baru dan memperbarui lapisan cache.
Permohonan
GET /api/Books
Cache-Control: no-cache
Accept: application/json
Respons (contoh)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Efek: Cache sekarang menyimpan hasil baru ini (tunduk pada TTL yang dikonfigurasi).
Arahan: tanpa penyimpanan
Menggunakan nilai cache yang ada jika ada; jika tidak, kueri database tetapi tidak mengisi (atau me-refresh) cache dengan hasil baru.
Permohonan
GET /api/Books
Cache-Control: no-store
Accept: application/json
Respons (contoh)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Efek: Jika hasil ini belum di-cache, hasil tersebut tidak akan disimpan. Permintaan selanjutnya only-if-cached dapat gagal jika tidak ada permintaan sebelumnya yang mengisi cache.
Tinjauan
- Gunakan
no-cachesaat Anda perlu memaksa refresh dari database dan juga memperbarui cache. - Gunakan
no-storesaat Anda menginginkan data tetapi tidak ingin respons ini mengubah cache (meskipun mungkin membaca nilai cache yang ada). - Hilangkan header untuk perilaku penembolokan normal.