Files
ratebubble/doc/decisions/ADR-002-cache-strategy.md
2026-02-28 02:44:41 +03:00

1.3 KiB
Raw Permalink Blame History

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

REDIS_TTL_SECONDS=604800  # 7 gün

Tarih

2025-02-27