Mobile App WikiMobile App Wiki
WikiApp DiscoverDiscuss

Wiki

    mobileapp.wiki

    Wiki

    • ASO17
    • Monetizasyon14
    • Mağaza Politikaları20
    • Metrikler15
    • Geliştirme25
    • Pazarlama15
    • Hukuk9
    • UI/UX14
    • Test & QA10
    • Altyapı10

    mobileapp.wiki

    Ana Sayfa/Altyapı/Caching Strategies (HTTP, Server, Client)
    Altyapı3 dk okuma

    Caching Strategies (HTTP, Server, Client)

    Mobil uygulama ekosisteminde cache stratejileri. HTTP cache, CDN, Redis, client-side storage, React Query/SWR ve cache invalidation yöntemleri.

    Caching Strategies (HTTP, Server, Client)

    İçindekiler

    Cache Neden Bu Kadar Önemli?HTTP Cache HeadersCache-ControlETag ve Last-ModifiedPratik KombinasyonlarCDN Cache KatmanıServer-Side CacheRedisIn-Memory CacheClient-Side CacheReact Query / TanStack QueryImage CachingCache InvalidationCache-First vs Network-Firstİlgili Konular

    Cache Neden Bu Kadar Önemli?

    Mobil uygulamalarda cache, hem kullanıcı deneyimini hem de backend maliyetlerini doğrudan etkiler. Doğru cache stratejisi ile:

    • Uygulama ekranları anında açılır
    • Mobil veri kullanımı azalır
    • Backend'e gelen istek sayısı düşer
    • Offline durumda bile uygulama kullanılabilir kalır

    Cache stratejisi belirlerken verinin ne kadar taze olması gerektiğini ve tutarsız veri göstermenin riskini dengede tutmanız gerekir.

    HTTP Cache Headers

    Cache-Control

    En önemli cache header'ıdır. Direktifler:

    • max-age=3600: 3600 saniye boyunca cache'ten servis et
    • no-cache: Cache'te sakla ama her seferinde sunucuya doğrulat
    • no-store: Hiç cache'leme (hassas veriler için)
    • private: Sadece client cache'leyebilir
    • public: CDN dahil herkes cache'leyebilir
    • stale-while-revalidate=60: Eski veriyi göster, arka planda güncelle

    ETag ve Last-Modified

    ETag: sunucu her response'a hash ekler, client sonraki istekte If-None-Match ile gönderir. Veri değişmemişse 304 Not Modified döner. Last-Modified benzer mantıkla tarih kullanır.

    Pratik Kombinasyonlar

    • Statik asset'ler: Cache-Control: public, max-age=31536000, immutable
    • API listeler: Cache-Control: private, max-age=60, stale-while-revalidate=300
    • Kullanıcı profili: Cache-Control: private, no-cache (ETag ile doğrulama)
    • Ödeme/auth: Cache-Control: no-store

    CDN Cache Katmanı

    CDN (Cloudflare, CloudFront, Fastly) sunucunuzun önünde cache katmanı oluşturur. Kullanıcıya en yakın edge noktasından içerik servis edilir.

    • Statik dosyalar CDN'den servis edilmeli
    • API response cache'lemek dikkat gerektirir (kullanıcıya özel veri!)
    • Cache purge mekanizması kurun
    • Vary header ile farklı versiyonları ayırt edin

    Server-Side Cache

    Redis

    En yaygın server-side cache. In-memory key-value store olarak çalışır. TTL ile otomatik expire, Pub/Sub ile cache invalidation. Upstash Redis serverless ortamlar için popüler.

    In-Memory Cache

    node-cache veya lru-cache paketleri. Cok hızlı erişim ama birden fazla instance varsa senkronizasyon sorunu, restart ile veri kaybı.

    Client-Side Cache

    AraçPlatformHızKullanım
    AsyncStorageReact NativeOrtaBasit key-value
    MMKVReact NativeCok hızlıTercih edilen key-value
    SQLiteiOS/Android/RNHızlıYapısal veri, sorgulama
    Core DataiOSHızlıiOS native veri katmanı
    RoomAndroidHızlıAndroid native ORM
    WatermelonDBReact NativeHızlıLazy loading, sync

    MMKV, WeChat tarafından geliştirilen C++ tabanlı key-value store'dur. AsyncStorage'a göre 30-50x daha hızlıdır. 2026'da React Native projelerinde standart haline gelmiştir.

    React Query / TanStack Query

    Server state management ve caching konusunda en popüler çözüm.

    • staleTime: Verinin taze kabul edilme süresi
    • gcTime: Kullanılmayan verinin bellekte tutulma süresi
    • refetchOnWindowFocus: Ön plana geldiğinde refetch
    • refetchOnReconnect: Bağlantı geldiğinde refetch

    SWR: Vercel'in alternatifi. Cache'teki eski veriyi anında gösterir, arka planda günceller. Her iki kütüphane de optimistic update, infinite scroll, prefetching ve mutation sonrası cache invalidation destekler.

    Image Caching

    Görseller en büyük bant genişliği tüketicisidir.

    • React Native: react-native-fast-image veya expo-image
    • iOS Native: SDWebImage veya Kingfisher
    • Android Native: Glide veya Coil

    Temel prensipler: CDN'den servis edin, farklı boyutlarda thumbnail oluşturun, WebP/AVIF formatlarını tercih edin, blur hash ile yükleme deneyimini iyileştirin.

    Cache Invalidation

    • TTL bazlı: Belirli süre sonra otomatik expire (en basit)
    • Event bazlı: Veri değiştiğinde cache key'ini sil (en doğru)
    • Versiyon bazlı: URL'e versiyon ekle
    • Tag bazlı: İlişkili key'leri tag'le, tag'i invalidate et

    Cache-First vs Network-First

    • Cache-first: Önce cache'e bak, yoksa network'e git. Hız öncelikli senaryolar
    • Network-first: Önce network'e git, hata olursa cache'e dön. Güncellik öncelikli
    • Stale-while-revalidate: Cache'ten göster, arka planda güncelle. En iyi denge

    Cache stratejisi uygulamanızın doğasına göre şekillenir. Veri hassasiyetini, güncellik ihtiyacını ve kullanıcı beklentisini analiz ederek doğru stratejiyi uygulayın.

    İlgili Konular

    • CDN & Asset Delivery
    • Image & Asset Optimization (Mobil)

    Bu içeriği nasıl buldunuz?

    Paylaş

    ← Önceki

    Firebase

    Sonraki →

    Supabase

    İlgili İçerikler

    Firebase

    Google Firebase mobil uygulama platformu rehberi. Authentication, Firestore, Cloud Functions, Crashlytics, Analytics, Remote Config ve FCM detayları.

    Supabase

    Açık kaynaklı Firebase alternatifi Supabase rehberi. PostgreSQL, Row Level Security, Edge Functions, realtime subscriptions ve mobil entegrasyon.

    Analytics Platformları

    Mobil uygulama analitik platformları karşılaştırma rehberi. Firebase Analytics, Mixpanel, Amplitude ve PostHog ile event ve retention ölçümü.

    Remote Config & Feature Flags

    Remote Config ve Feature Flags yönetim rehberi. Firebase Remote Config, LaunchDarkly ve Statsig ile gradual rollout ve kill switch stratejileri.

    CDN & Asset Delivery

    CDN ve asset delivery optimizasyon rehberi. Cloudflare, AWS CloudFront ve Bunny CDN karşılaştırması, image optimization ve cache stratejileri detayları.

    Android Kapalı Test

    Android Kapalı Test hizmeti için androidtesti.com platformunu ziyaret edin.

    androidtesti.com