# ADR-002: Hybrid Cache Stratejisi ## Durum Kabul edildi ## Bağlam Netflix'ten scraped verileri nasıl saklayacağımıza karar vermemiz gerekiyor. Seçenekler: 1. **Sadece Cache**: Redis'te TTL ile sakla 2. **Sadece Database**: PostgreSQL'de kalıcı sakla 3. **Hybrid**: Cache + Database birlikte ## Karar **Hybrid Cache Stratejisi** (Cache → DB → Netflix) seçildi. ## Akış ``` İstek → Redis Cache → Varsa dön → Yoksa → PostgreSQL → Varsa dön, Cache'e yaz → Yoksa → Netflix'ten çek → DB'ye yaz → Cache'e yaz → Dön ``` ## Gerekçe ### Sadece Cache Eksikleri - TTL dolduğunda veri kaybı - Yeniden scraping maliyeti ### Sadece Database Eksikleri - Her istekte DB sorgusu - Daha yavaş yanıt ### Hybrid Avantajları 1. **Hız**: Cache hit durumunda anlık yanıt 2. **Kalıcılık**: Veriler DB'de saklanır 3. **Verimlilik**: Netflix'e gereksiz istek atılmaz 4. **TTL Esnekliği**: Cache süresi ayarlanabilir ## Sonuçlar ### Olumlu - En hızlı yanıt süresi (cache hit) - Veri kalıcılığı - Netflix üzerinde minimal yük ### Olumsuz - İki sistem senkronizasyonu - Daha fazla kod karmaşıklığı ### Yapılandırma ```env REDIS_TTL_SECONDS=604800 # 7 gün ``` ## Tarih 2025-02-27