Arsen Lüpen
Hectopat
- Katılım
- 28 Şubat 2021
- Mesajlar
- 102
Daha fazla
- Cinsiyet
- Erkek
Merhaba. Tinder tarzı bir kart kaydırma uygulamasında backend kısmında kafama takılan bir soru var. Şimdi her kaydırmada veritabanına istek gönderiliyordu ve yeni veri oluşturuluyordu. Geri komutu çalıştığı zamanda oluşturulan satır siliniyordu. Her kaydırmada DB'yi yormak yerine redis ile cachede tutup bulk olarak kayıt ederim diye düşündüm. Ama bulk olarak kayıt edilme ne zaman olmalı sizce?
1) Bir kaydırmadan sonra süre başlatılıp o süre bitene kadar kaydırma yapılmazsa bulk edilebilir.(ama her kullanıcı için bir timer başlatılacak)
2) Belli bir kaydırma sayısına ulaşılınca.(çok mantıksız, hiçbir zaman garantisi yok ne kadar kaydırma yapılacağı.)
3) Kullanıcı uygulamadan çıkınca veya uygulamaya girince.(olası bir internet kopmasında kullanıcı uygulamayı kapattı ama bağlantı olmadığı için apiye istek gönderilemedi.)
4) Background worker eklenebilir.(bunda da yine her kullanıcı için bir süre mi başlatılmalı(kaydırma yapıldı ve 1 dakikalık bir süre başladı) yoksa uygulamada her 10 dk da bir tüm redisdeki veriler mi bulk edilmeli? Çok fazla veri olur bu sefer de.)
Bana en mantıklı 1 ve 3 geliyor. 1 performans olarak sorun yaratabilir gibi geliyor. 3 de riskli oldu olası bir internet kopmasında kayıt edilemeyebilir.
1) Bir kaydırmadan sonra süre başlatılıp o süre bitene kadar kaydırma yapılmazsa bulk edilebilir.(ama her kullanıcı için bir timer başlatılacak)
2) Belli bir kaydırma sayısına ulaşılınca.(çok mantıksız, hiçbir zaman garantisi yok ne kadar kaydırma yapılacağı.)
3) Kullanıcı uygulamadan çıkınca veya uygulamaya girince.(olası bir internet kopmasında kullanıcı uygulamayı kapattı ama bağlantı olmadığı için apiye istek gönderilemedi.)
4) Background worker eklenebilir.(bunda da yine her kullanıcı için bir süre mi başlatılmalı(kaydırma yapıldı ve 1 dakikalık bir süre başladı) yoksa uygulamada her 10 dk da bir tüm redisdeki veriler mi bulk edilmeli? Çok fazla veri olur bu sefer de.)
Bana en mantıklı 1 ve 3 geliyor. 1 performans olarak sorun yaratabilir gibi geliyor. 3 de riskli oldu olası bir internet kopmasında kayıt edilemeyebilir.