İçeriğe atla
Cloudflare Wiki

    gez · aç · Esc kapat

    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:

    1. Standart cache’lenebilirlik kriterlerini karşılamalı
    2. Tazelik süresi en az 10 saat olmalı
    3. Yanıtta Content-Length başlığı bulunmalı

    Tazelik ve saklama — iki ayrı saat

    Bu ayrım sürekli karıştırılıyor:

    Ne belirlerKaynağı
    Tazelikİçeriğin yeniden doğrulanması gerekip gerekmediğiEdge Cache TTL veya origin Cache-Control
    Saklamaİçeriğin Cache Reserve’de tutulmaya devam edip etmediği30 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 Vary kullanı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: gzip gö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ç

    Cloudflare Analytics — cache hit oranı ve origin'e giden istek sayısı; on-prem sunucu tarafındaki erişim log sayısı

    Adım 2 — Tiered Cache’i aç

    Caching → Tiered Cache ekranı, seçilen topoloji

    Adım 3 — Varlıkların uygunluğunu doğrula

    curl -sI https://alanadin.com/varlik/ornek.zip | grep -iE 'cache-control|content-length'
    curl -I çıktısı — Cache-Control max-age değeri 10 saatin üstünde ve Content-Length başlığı mevcut

    Adım 4 — Cache Reserve’i aç

    Caching → Cache Reserve → 'Enable storage sync' butonu ve etkinleşmiş durum

    Adım 5 — Dolmasını bekle ve isabeti gör

    Cache Reserve Analytics — saklanan veri miktarının zaman içinde artışı
    Cache Reserve Analytics ekranındaki 'Egress savings (bandwidth)' değeri

    Adım 6 — Origin tarafından doğrula

    Şirket içi web sunucusunun erişim log'u veya izleme grafiği — Cache Reserve öncesi ve sonrası istek sayısı

    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.

    İki varlığın karşılaştırması — kısa TTL'li olan Cache Reserve'de yok, uzun TTL'li var

    Adım 2 — Content-Length eksikliğini test et

    Chunked transfer ile sunulan bir yanıt ve Cache Reserve'e girmediğini gösteren ölçüm

    Adım 3 — URL bazlı purge ile Purge Everything’i karşılaştır

    Cache Reserve depolama grafiği — URL purge sonrası anlık düşüş
    Aynı grafik — Purge Everything sonrası depolamanın değişmediği, soft purge davranışı

    Adım 4 — Range isteğinin çalışmadığını göster

    curl -sI -H 'Range: bytes=0-1023' https://alanadin.com/varlik/video.mp4
    curl çıktısı — Range isteğinin origin'e gittiğini gösteren başlıklar

    Ölçüm

    ÖlçütCache Reserve öncesiSonrası
    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
    Depolama0,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:

    KalemMiktarTutar
    Class B1.000.0000,36 USD
    Class A1.000 → 1 milyona yuvarlanır4,50 USD
    Depolama1.000 GB-ay15,00 USD
    Toplam19,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:

    KalemMiktarTutar
    Class B60.000.00021,60 USD
    Class A30.000.000135,00 USD
    Depolama1.000 GB-ay15,00 USD
    Toplam171,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:

    DurumSonuç
    TTL < 10 saatUygun değil
    Content-Length yokUygun değil
    Origin Range isteğiDesteklenmiyor
    Görsellerde VaryUyumlu değil
    Cloudflare for SaaS (O2O)Tamamen atlanır
    Origin aynı zone’da R2 public bucketDevreye 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: private veya no-store kullan
    • 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-Length baş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-Control baş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: gzip header 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'in Content-Encoding ile 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 CacheReserveUsed alanı 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 Vary kullanı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.

    Hata bildir

    Yanlış bir rakam, eskimiş bir bilgi veya bozuk bir bağlantı mı buldun? Bildir, kaynağıyla birlikte kontrol edelim.