Önbellek Geçersiz Kılma Rehberi
Apinizer'da birden fazla önbellek vardır ve her biri ayrı bir cache setinde tutulur. Bir önbelleği temizlemek diğerlerini etkilemez. Bu rehber, her önbelleğin neyi sakladığını, anahtarının nasıl oluştuğunu ve nasıl geçersiz kılındığını tek yerde toplar.
Önbellek türleri
| Önbellek | Nerede ayarlanır | Cache seti (Cache Dashboard'daki ad) | Ne saklanır |
|---|---|---|---|
| API Proxy yanıt önbelleği | Settings — Önbellek Ayarları | api-proxy-response | İstemciye dönen başarılı yanıt |
| Endpoint (metot) yanıt önbelleği | Endpoint konfigürasyonu | api-proxy-method-response | İlgili endpoint'in başarılı yanıtı |
| API Proxy Group yanıt önbelleği | API Proxy Group — Cache Settings | api-proxy-group-response | Grup üzerinden gelen isteklerin başarılı yanıtı |
| API Call politikası önbelleği | API Çağrısı politikası — CACHE sekmesi | api-call-response | Politikanın yaptığı harici çağrının yanıtı |
| Cache politikası | Önbellekleme politikası | generic-cache | Politika zincirinde POPULATE ile yazılan değişken değeri |
| Idempotency kayıtları | Settings — Idempotency Ayarları | idempotency-record | Idempotency-Key ile saklanan yanıt |
Hangi yanıt önbelleği kullanılır?
Bir istek için API Proxy, endpoint ve grup yanıt önbelleklerinden yalnızca biri kullanılır. Gateway sırayla şunlara bakar ve etkin olan ilk önbelleği seçer:
- API Proxy Group önbelleği — istek grup üzerinden geldiyse ya da grup ayarları gruptaki API Proxy'lere uygulanıyorsa ve grupta önbellek açıksa.
- API Proxy önbelleği — Settings sekmesinde önbellek açıksa.
- Endpoint önbelleği — ilgili endpoint'te önbellek açıksa.
Önbellek anahtarı, seçilen seviyenin kimliğiyle (grup, API Proxy veya endpoint ID'si) başlar. Bu nedenle aynı sorgu parametreleri farklı API Proxy'lerde veya farklı endpoint'lerde aynı kayda denk gelmez.
Sadece HTTP Get İsteklerini Önbelleğe Al seçeneği API Proxy ve grup önbelleğinde geçerlidir. Endpoint önbelleği açıldığında o endpoint'in metodu ne olursa olsun çalışır.
Geçersiz kılma yöntemleri
| Önbellek | İstekle geçersiz kılma | Cache Dashboard'dan silme | Süre dolumu | Deploy / Redeploy |
|---|---|---|---|---|
| API Proxy / Endpoint / Grup yanıt önbelleği | Cache-Control: no-cache, no-store veya max-age=0 başlığı; yalnızca o isteğin anahtarına ait kayıt silinir | Delete Key veya Delete All | TTL | Kayıtları silmez |
| API Call politikası önbelleği | Yok | Delete Key veya Delete All (api-call-response) | TTL (isteğe bağlı Dinamik TTL) | Kayıtları silmez |
| Cache politikası | Politika zincirinde INVALIDATE işlemi, aynı anahtarla | Delete Key veya Delete All (generic-cache) | POPULATE'teki TTL | Kayıtları silmez |
| Idempotency kayıtları | Yok | Delete Key veya Delete All (idempotency-record) | Saklama süresi (gün) | Kayıtları silmez |
Cache Dashboard, Dağıtık Cache sayfasında anlatılır. Silme işlemleri geri alınamaz.
API Proxy'yi yeniden yüklemek (redeploy) yönlendirme ve yük dengeleme durumunu sıfırlar, ancak yanıt önbelleğindeki kayıtlara dokunmaz. Önbellek ayarlarını veya backend yanıtını değiştirdiyseniz eski kayıtlar TTL dolana kadar dönmeye devam edebilir. Hemen temizlemek için Cache Dashboard'u kullanın ya da ilgili isteği Cache-Control: no-cache ile gönderin.