Продвинутый
Что такое Cache Invalidation (Инвалидация кэша) и почему это сложно?
"В программировании есть две сложные проблемы: инвалидация кэша и придумывание названий переменным" (Фил Карлтон).
Инвалидация кэша — это процесс удаления или обновления устаревших данных в кэше (Redis), когда оригинальные данные в БД изменились.
Почему это сложно:
Если юзер обновил имя в профиле, мы должны удалить кэш профиля. Но что если имя юзера закэшировано еще в 10 местах (в списке комментариев, в шапке сайта, в отчетах)? Найти и удалить все связанные ключи очень сложно. Если мы забудем удалить хоть один, система будет показывать неконсистентные (старые) данные.