Redis Noeviction Politikası OOM Çökmesi
"maxmemory-policy noeviction" güvenli görünüyordu. Veri kaybı yok, değil mi?
Ne oldu:
- Redis maxmemory limitine ulaştı
- noeviction politikası: tüm yazmaları reddet
- Uygulama yeni önbellek girişleri yazamadı
- Ama aynı zamanda oturum verilerini de yazamadı
- Kullanıcılar işlem ortasında oturumdan atıldı
- Ödeme hataları %400 arttı
Asıl sorun:
Hem tek kullanımlık önbellek hem de kritik oturum verilerini aynı Redis örneğinde aynı çıkarma politikasıyla sakladık.
Çözüm:
- Önbellek ve oturumlar için ayrı Redis örnekleri
- Önbellek: allkeys-lru (dolduğunda en eskiyi çıkar)
- Oturumlar: noeviction + agresif TTL'ler + izleme
- Bellek %80'e ulaştığında uyarılar
Ders: Çıkarma politikanız verilerinizin önemiyle eşleşmelidir. Tek kullanımlık önbellek ve kritik oturumlar farklı stratejiler gerektirir.