"Има само две трудни неща в компютърните науки: инвалидиране на кеша и именуване на нещата."

След този инцидент вярвам на човека, който каза това.

Нашата стратегия за инвалидиране на кеша:

  • Потребителят актуализира профил → инвалидирай кеша на потребителя
  • Потребителят актуализира профил → инвалидирай кеша на публикациите
  • Потребителят актуализира профил → инвалидирай фийдовете на последователите
  • Потребителят актуализира профил → инвалидирай индекса за търсене
  • Потребителят актуализира профил → инвалидирай кеша за препоръки

Какво забравихме:

  • Коментари на потребителя в публикации на други (все още показваше старо име)
  • История на известията (стар аватар)
  • Кеш за преглед на имейл (стара биография)

Осъзнаването:

С растежа на системата, броят на местата, където кеширате данни, расте по-бързо от способността ви да ги проследявате.

Нашият нов подход:

  • Документиране на всеки кеш в централен регистър
  • Ключовете на кеша включват номера на версии
  • Глобално инвалидиране на кеша при промени в данните на потребителя
  • Приемане на известна остарялост там, където няма значение

Урок: Ако не можете да изброите всяко място, където дадени данни са кеширани, не можете надеждно да ги инвалидирате.


← Назад към Научени Уроци