Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
REST uç noktaları için, Veri API'sinin oluşturucusunun (DAB) istek üst bilgisi ile Cache-Control iç sorgu sonuç önbelleğini nasıl kullandığını etkileyebilirsiniz.
Önemli
Çalışma zamanı yapılandırmasında önbelleğe alma devre dışı bırakılırsa, bu yönergeler yoksayılır ve sorgular normal şekilde çalışır.
Desteklenen Cache-Control değerleri
| Değer | Davranış |
|---|---|
no-cache |
DAB'yi hem L1 hem de L2 önbelleklerini atlayıp veritabanından yeni verileri almaya ve önbellekleri yeni sonuçla güncelleştirmeye zorlar. |
no-store |
DAB'ye yanıtı hiç önbelleğe almaması gerektiğini bildirir (L1 veya L2'de depolanmaz ve önbellekten getirmeye çalışmaz). |
Davranış
- Yönerge eşleştirme büyük/küçük harfe duyarlı değildir.
- DAB, max-age veya max-stale gibi diğer standart
Cache-Controlyönergeleri yorumlamaz. - Yalnızca REST sorgu işlemleri için geçerlidir. GraphQL istek düzeyi önbellek yönergeleri için kullanılmaz.
- Cache-Control isteği HTTP üst bilgisi değerleri hem L1 hem de L2 önbelleğini denetler.
Uyarı
DAB, herhangi bir önbellek işlemi için önbellek denetimi yanıt üst bilgilerini ayarlamaz.
Yönerge: önbellek yok
Yeni bir okuma zorlar ve önbellek katmanlarını güncelleştirir.
İstek
GET /api/Books
Cache-Control: no-cache
Accept: application/json
Yanıt (örnek)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Etki: Önbellek artık bu yeni sonucu barındırır (yapılandırılmış TTL'ye tabidir).
Yönerge: depo yok
Varsa mevcut bir önbelleğe alınmış değeri kullanır; aksi takdirde veritabanını sorgular ancak önbelleği yeni sonuçla doldurmaz (veya yenilemez).
İstek
GET /api/Books
Cache-Control: no-store
Accept: application/json
Yanıt (örnek)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Etki: Bu sonuç önceden önbelleğe alınmadıysa depolanmaz. Daha önceki bir istek önbelleği doldurmadıysa sonraki only-if-cached bir istek başarısız olabilir.
İnceleme
- Veritabanından yenilemeye zorlamanız ve önbelleği güncelleştirmeniz gerektiğinde kullanın
no-cache. - Verileri istediğinizde ancak bu yanıtın önbelleği değiştirmesini istemediğinizde kullanın
no-store(ancak mevcut bir önbelleğe alınmış değeri okuyabilir). - Normal önbelleğe alma davranışı için üst bilgiyi atla.