Önbellek Geçersizleştirme Kabusu
"Bilgisayar biliminde sadece iki zor şey vardır: önbellek geçersizleştirme ve isimlendirme."
Bu olaydan sonra, bunu söyleyen kişiye inanıyorum.
Önbellek geçersizleştirme stratejimiz:
- Kullanıcı profilini günceller → kullanıcı önbelleğini geçersizleştir
- Kullanıcı profilini günceller → kullanıcının gönderi önbelleğini geçersizleştir
- Kullanıcı profilini günceller → takipçilerin akışlarını geçersizleştir
- Kullanıcı profilini günceller → arama dizinini geçersizleştir
- Kullanıcı profilini günceller → öneri önbelleğini geçersizleştir
Unuttuğumuz şey:
- Kullanıcının diğer kişilerin gönderilerine yaptığı yorumlar (hala eski adı gösteriyordu)
- Bildirim geçmişi (eski avatar)
- E-posta önizleme önbelleği (eski biyografi)
Farkındalık:
Sisteminiz büyüdükçe, veriyi önbelleğe aldığınız yerlerin sayısı, onları takip etme yeteneğinizden daha hızlı artar.
Yeni yaklaşımımız:
- Her önbelleği merkezi bir kayıtta belgeleyin
- Önbellek anahtarları sürüm numaraları içerir
- Kullanıcı verisi değişiklikleri için küresel önbellek temizleme
- Önemli olmadığı yerlerde bir miktar eskiliği kabul et
Ders: Bir veri parçasının önbelleğe alındığı her yeri listeleyemiyorsanız, onu güvenilir bir şekilde geçersizleştiremezsiniz.