Cache Reserve
Statik içeriği R2 üzerinde kalıcı olarak cache'ler; origin'e giden isteği azaltır.
- DurumGenel kullanımda
- FiyatDepolama + Class A/B işlem; purge ücretsiz
- Doğrulama
Cache Reserve nedir?
Cloudflare’in kenar cache’i sınırlıdır ve sık istenmeyen içerik oradan düşer. Düştüğü anda bir sonraki istek origin’e gider — ve origin bir bulut sağlayıcısındaysa bu, egress faturası demektir.
Cache Reserve bu boşluğu doldurur. Resmî tanım:
“Cache Reserve is a large, persistent data store implemented on top of R2… Cache Reserve serves as the ultimate upper-tier cache, that will reserve storage space for your assets for as long as you want. This ensures that your content is served from cache longer, shielding your origin from unneeded egress fees.”
Nasıl çalışır?
Nerede duruyor
Kullanıcı → Kenar cache → Tiered Cache üst katman → Cache Reserve → Origin
Cache Reserve en üst katmandır: kenar ve Tiered Cache ıskaladığında devreye girer, o da ıskalarsa origin’e gidilir.
Uygunluk — üç şart
Bir varlığın Cache Reserve’e girmesi için üçünün de sağlanması gerekir:
- Standart cache’lenebilirlik kriterlerini karşılamalı
- Tazelik süresi en az 10 saat olmalı
- Yanıtta
Content-Lengthbaşlığı bulunmalı
Tazelik ve saklama — iki ayrı saat
Bu ayrım sürekli karıştırılıyor:
| Ne belirler | Kaynağı | |
|---|---|---|
| Tazelik | İçeriğin yeniden doğrulanması gerekip gerekmediği | Edge Cache TTL veya origin Cache-Control |
| Saklama | İçeriğin Cache Reserve’de tutulmaya devam edip etmediği | 30 gün, her istekte sıfırlanır |
Yani bir varlık bayat olabilir ama hâlâ saklanıyor olabilir — ve depolama ücreti işlemeye devam eder.
İşlem modeli
“In most cases, a Cache Reserve miss will result in both one class A and one class B operation, and a Cache Reserve hit will result in one class B operation. Assets larger than 1 GB will incur more operations proportional to their size.”
Yani ıska pahalı, isabet ucuz. Düşük cache isabet oranı olan bir sitede Cache Reserve maliyeti hızla artar.
Purge davranışı — dikkat gerektiren kısım
Ne zaman kullanılır, ne zaman kullanılmaz
Uygun olduğu işler
- Uzun TTL’li, büyük statik medya kütüphaneleri
- Kenar cache’inden düşen ama pahalı olan uzun kuyruk içerik
- Yazılım ve paket dağıtım aynaları
- AWS/GCP üzerinde barındırılan origin’in egress faturasını düşürme
Uygun olmadığı işler
- TTL 10 saatin altındaysa. Hiç dolmaz.
- Origin aynı zone’daki R2 public bucket ise. Devreye girmez, üstelik gereksizdir.
- Origin Range istekleri gerekiyorsa. Desteklenmiyor — byte-range video kırılır.
- Görseller için
Varykullanıyorsan. Uyumlu değil. - Cloudflare for SaaS orange-to-orange kurulumundaysan. Tamamen atlanır.
- Origin gzip pazarlığına bağımlıysa. Cache Reserve
Accept-Encoding: gzipgöndermez. - Cache isabet oranı düşük, içerik sık değişiyorsa. Class A yazma maliyeti patlar.
- Tiered Cache açık değilse. Maliyet artar; panel uyarı verir.
Somut örnekler
1. Varlıkları uygun hâle getirme
Cache Reserve’in dolması için önce TTL’i 10 saatin üstüne çıkarman gerekir.
# Origin yanıt başlığı
Cache-Control: public, max-age=86400
Content-Length: 2451920
Origin’i değiştiremiyorsan Cache Rules ile Edge Cache TTL ayarla — ama unutma, Cache Reserve uygunluğu tazelik süresine bakar.
2. Uygunluğu doğrulama
# Content-Length var mı, TTL yeterli mi?
curl -sI https://alanadin.com/varlik/buyuk-dosya.zip | \
grep -iE 'cache-control|content-length|cf-cache-status'
3. Cache Reserve isabetini görme
# Aynı varlığı iki kez iste, ikinci istekte durum değişmeli
curl -sI https://alanadin.com/varlik/buyuk-dosya.zip | grep -i cf-cache-status
Logpush’ta CacheReserveUsed alanı hangi isteklerin Cache Reserve’den karşılandığını gösterir.
4. API ile durum sorgulama ve temizleme
# Durumu oku
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve" \
--header "Authorization: Bearer $CF_TOKEN"
# Tüm veriyi sil — önce etkinleştirilmiş sonra duraklatılmış olmalı
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve_clear" \
--request POST \
--header "Authorization: Bearer $CF_TOKEN"
Silme işlemi 24 saate kadar sürebilir.
Demo 1: Şirket içi origin önünde Cache Reserve
Bu demo senin on-prem sunucunla yapılacak — asıl ölçmek istediğimiz, origin’e giden istek sayısındaki düşüş.
Adım 1 — Başlangıç durumunu ölç
Adım 2 — Tiered Cache’i aç
Adım 3 — Varlıkların uygunluğunu doğrula
curl -sI https://alanadin.com/varlik/ornek.zip | grep -iE 'cache-control|content-length'
Adım 4 — Cache Reserve’i aç
Adım 5 — Dolmasını bekle ve isabeti gör
Adım 6 — Origin tarafından doğrula
Demo 2: Uygunluk kurallarını ve purge davranışını test etme
Adım 1 — Kısa TTL’li varlığın girmediğini göster
Cache-Control: max-age=300 ile bir varlık sun ve Cache Reserve’e girmediğini doğrula.
Adım 2 — Content-Length eksikliğini test et
Adım 3 — URL bazlı purge ile Purge Everything’i karşılaştır
Adım 4 — Range isteğinin çalışmadığını göster
curl -sI -H 'Range: bytes=0-1023' https://alanadin.com/varlik/video.mp4
Ölçüm
| Ölçüt | Cache Reserve öncesi | Sonrası |
|---|---|---|
| Cache hit oranı | — | — |
| Origin’e giden istek/gün | — | — |
| Origin egress (GB/ay) | — | — |
| Cache Reserve depolama (GB) | — | — |
| Class A / Class B işlem sayısı | — | — |
| Tahmini aylık maliyet | — | — |
Fiyatlandırma
| Kalem | Ücret |
|---|---|
| Depolama | 0,015 USD / GB-ay |
| Class A işlem (yazma) | 4,50 USD / milyon |
| Class B işlem (okuma) | 0,36 USD / milyon |
| Purge | Ücretsiz |
Faturalanan miktar en yakın milyona yukarı yuvarlanır.
Cloudflare’in kendi örnekleri
Örnek 1 — az sayıda büyük varlık, çok okuma 1.000 varlık × 1 GB, her biri 1 yazma + 1.000 okuma:
| Kalem | Miktar | Tutar |
|---|---|---|
| Class B | 1.000.000 | 0,36 USD |
| Class A | 1.000 → 1 milyona yuvarlanır | 4,50 USD |
| Depolama | 1.000 GB-ay | 15,00 USD |
| Toplam | 19,86 USD |
Örnek 2 — çok sayıda küçük varlık, günlük yeniden yazma 1.000.000 varlık × 1 MB, günde 1 kez yeniden yazılıyor, günde 2 kez okunuyor:
| Kalem | Miktar | Tutar |
|---|---|---|
| Class B | 60.000.000 | 21,60 USD |
| Class A | 30.000.000 | 135,00 USD |
| Depolama | 1.000 GB-ay | 15,00 USD |
| Toplam | 171,60 USD |
Plan gereksinimi — çözülmemiş çelişki
Limitler
Resmî ifade: “Cache Reserve file limits are the same as R2 limits.” Yani nesne boyutu 5 TiB, anahtar uzunluğu 1.024 bayt gibi R2 sınırları geçerlidir.
Buna ek olarak beş dışlama:
| Durum | Sonuç |
|---|---|
| TTL < 10 saat | Uygun değil |
Content-Length yok | Uygun değil |
| Origin Range isteği | Desteklenmiyor |
Görsellerde Vary | Uyumlu değil |
| Cloudflare for SaaS (O2O) | Tamamen atlanır |
| Origin aynı zone’da R2 public bucket | Devreye girmez |
Lisanslama ve hukuki çerçeve
Cache Reserve tescilli bir hizmettir; Cloudflare Hizmet Şartları kapsamındadır.
Veri açısından dikkat edilmesi gereken: Cache Reserve, origin’inden gelen yanıtları aylarca
saklar. Kişisel veri içeren bir yanıt yanlışlıkla cache’lenebilir hâle gelirse (ör. Cache-Control
başlığı hatalı ayarlanmışsa) o veri 30 gün boyunca Cloudflare’de durur.
Pratik önlemler:
- Kişiselleştirilmiş yanıtlarda
Cache-Control: privateveyano-storekullan - Kimlik doğrulama gerektiren yolları cache dışında tut
- Yanlışlıkla cache’lenen bir yanıtı temizlemek için URL bazlı purge kullan — Purge Everything depolamayı boşaltmaz
Veri yerleşimi kısıtı Cache Reserve için tanımlı değildir.
Sık yapılan hatalar
Tiered Cache açmadan etkinleştirmek. Class A işlemleri çoğalır ve maliyet artar; panel de uyarı gösterir.
Purge Everything’in depolamayı boşaltacağını sanmak. Soft purge yapar; varlıklar saklama süresi dolana kadar ücretlendirilmeye devam eder.
Etiket, host veya önek bazlı purge’ün CDN’deki gibi davranacağını sanmak. Cache Reserve’de yalnızca yeniden doğrulamaya zorlar.
Aynı zone’daki R2 public bucket’ın önünde çalıştırmak. Devreye girmez; çift harcamadır.
Byte-range video sunmak. Origin Range istekleri desteklenmiyor.
Sık değişen içerikte kullanmak. Cloudflare’in kendi örneğinde 171,60 USD’nin 135,00 USD’si yazma işlemlerinden geliyor.
R2’nin ücretsiz katmanının geçerli olduğunu varsaymak. Uygulanmaz.
gzip pazarlığının çalıştığını varsaymak. Cache Reserve origin’den sıkıştırılmamış içerik çeker.
TTL’i kontrol etmeden “çalışmıyor” demek. 10 saat kuralı en sık takılınan yerdir.
Sıkça sorulan sorular
- Cache Reserve'i açmak için hangi plan gerekiyor?
- Burada iki resmî sayfa çelişiyor ve ikisi de yayında. Cache dokümantasyonu (25 Ağustos 2026 güncellemeli) “A paid Cache Reserve plan is required” diyor ve kullanım bazlı bir fiyat tablosu veriyor. Smart Shield dokümantasyonu (17 Nisan 2026) ise “Available with Smart Shield Advanced” diyor, “includes 2 TB of storage for Cache Reserve” ekliyor ve Smart Shield Advanced'in “not currently available for Free, Pro, and Business customers” olduğunu belirtiyor. Daha yeni sayfa eski modeli anlatıyor, yani tarih bakarak çözülemiyor. Hesabında hangi modelin geçerli olduğunu panelden veya hesap ekibinden teyit et.
- Cache Reserve neden hiç dolmuyor?
- En yaygın sebep TTL'in kısa olması. Uygunluk için üç şart var: içerik cache'lenebilir olmalı, tazelik süresi en az 10 saat olmalı (“Have a freshness time-to-live (TTL) of at least 10 hours”), ve yanıtta
Content-Lengthbaşlığı bulunmalı. Kısa TTL'li haber veya API içeriği Cache Reserve'e hiç girmez. - R2 ile aynı şey mi?
- Hayır, ve bu ayrım önemli. R2 yazdığın bir depodur — bucket'ın olur, nesne koyarsın. Cache Reserve doğrudan yazamadığın bir cache katmanıdır — Cloudflare onu senin origin'inden doldurur. Sana bir bucket vermez. Altyapısı R2 üzerine kuruludur ama kullanım modeli tamamen farklıdır.
- Tazelik ile saklama aynı şey mi?
- Hayır, iki ayrı saat işler. Tazelik Edge Cache TTL veya origin'in
Cache-Controlbaşlığından gelir; dolduğunda Cloudflare origin'e doğrulama isteği atar. Saklama ise ayrı: “Cache Reserve starts with a retention period of 30 days. If an asset is not requested within the retention period, it is removed from Cache Reserve. Requesting the asset resets the retention period.” Yani içerik bayat olabilir ama hâlâ saklanıyor olabilir. - Purge Everything depolama maliyetimi düşürür mü?
- Hayır — bu en pahalı yanlış anlamadır. Resmî ifade: Purge Everything Cache Reserve üzerinde “performs a soft purge” yapar. Etiket, host veya önek bazlı purge da yalnızca yeniden doğrulamaya zorlar: “assets purged this way will still incur storage costs until their retention TTL expires.” Yalnızca URL bazlı purge anında siler. Purge işlemlerinin kendisi ücretsizdir.
- Video için kullanabilir miyim?
- Byte-range ile sunulan video için hayır. Resmî ifade: “Origin Range requests are not supported at this time from Cache Reserve.” Bu, büyük video dosyalarının klasik sunum biçimidir — dolayısıyla video kütüphanesi için Cache Reserve yerine Stream veya R2 daha uygundur.
- Origin'im R2 public bucket, faydası olur mu?
- Hayır, hatta devreye bile girmez. Resmî ifade: “Requests to R2 public buckets linked to a zone's domain will not use Cache Reserve.” R2 zaten egress ücreti almadığı için ikisini birlikte kullanmak çift harcamadır — ve teknik olarak da çalışmaz.
- Tiered Cache açmam şart mı?
- Zorunlu değil ama şiddetle önerilir. Resmî uyarı: “Using Cache Reserve without Tiered Cache may result in higher storage operation costs.” Panel de bu durumda uyarı gösterir. Sebep basit: Tiered Cache olmadan çok sayıda kenar noktası bağımsız olarak Cache Reserve'e yazar ve Class A işlemleri çoğalır.
- gzip pazarlığı çalışıyor mu?
- Hayır. Resmî ifade: “Cache Reserve does not include the
Accept-Encoding: gzipheader when sending requests to the origin.” Yani origin'den sıkıştırılmamış içerik çeker. Bu hem origin'den aktarılan veriyi hem saklanan bayt sayısını artırır. Sıkıştırmayı origin'inContent-Encodingile zorunlu kıldığı kurulumlarda beklenmedik sonuçlar doğurabilir. - Ücretsiz katmanı var mı?
- Dokümantasyonda hiçbir ücretsiz kota belirtilmiyor. R2'nin 10 GB + 1M + 10M ücretsiz katmanı buraya uygulanmaz. “R2 ile aynıdır” varsayımı maliyeti olduğundan düşük tahmin etmene yol açar. Not: Cloudflare bunu olumsuz bir cümleyle de yazmıyor, yani “ücretsiz katman yoktur” ifadesi bizim yokluktan çıkardığımız sonuç.
- Ne kadar tasarruf ettiğimi nasıl ölçerim?
- Cache Reserve Analytics ekranındaki “Egress savings (bandwidth)” metriği bu iş için var. Ayrıca Logpush'ta
CacheReserveUsedalanı hangi isteklerin Cache Reserve'den karşılandığını gösterir. Taahhüt vermeden önce bu iki ölçümle gerçek tasarrufu doğrulaman mantıklı. - Hangi durumlarda hiç çalışmaz?
- Beş dışlama var: (1) TTL 10 saatin altındaysa, (2) origin aynı zone'daki bir R2 public bucket ise, (3) origin Range istekleri gerekiyorsa, (4) görseller için
Varykullanıyorsan, (5) Cloudflare for SaaS orange-to-orange (O2O) kurulumundaysan — o durumda Cache Reserve tamamen atlanır.
İlgili servisler
- R2S3 uyumlu object storage — çıkış (egress) trafiği ücretsiz.
- CDNStatik içeriği kullanıcıya en yakın şehirde cache’leyip origin yükünü düşürür.
- WorkersJavaScript/TypeScript/Python kodunu Cloudflare’in 330+ şehirdeki sunucularında, sunucu yönetmeden çalıştırır.
- Argo Smart Routing (Smart Shield)Cache miss olan request’i internetin tıkalı yollarından kaçırır. Artık Smart Shield paketinin içinde satılıyor.
- Load BalancingTrafiği birden çok origin arasında dağıtır, health check yapar, arızalıyı devre dışı bırakır.
Bu sayfadaki fiyat ve özellik bilgileri 1 Eylül 2026 tarihinde Cloudflare’in resmî kaynaklarından doğrulanmıştır. Cloudflare fiyatlandırmasını önceden haber vermeden değiştirebilir; bağlayıcı bilgi içinresmî sayfaya bakın.