У меня очень специфическая ситуация с кешем. Мы используем несколько решений для кэширования, и я задаюсь вопросом, что является лучшим решением для аннулирования кеша при действии пользователя.Как я могу сделать неверный кеш правильным?
Кэш как так
Первый слой: CDN кэширует полную страницу в формате HTML для неавторизованных пользователей
Второй слой: полный кэш страниц в Memcached для неавторизованных пользователей причина, по которой у меня есть второй уровень, - реагировать на края, иногда не все кешированные кешируют, поэтому я также хочу «ответить» на край из кеша.
Третий слой: частичные части кеша HTML и данные базы данных для зарегистрированных пользователей.
Моя проблема заключается в том, что мой процесс недействительности во многом базируется на третьем слое прямо сейчас, и я не отвечаю на второй и первый слой достаточно хорошо.
Мой вопрос: что является лучшим способом сделать недействительным кеш на полный URL-адрес из ключа кеша, который абсолютно не связан с URL-адресом? Например, если у меня есть план поездки, внутри плана поездки есть комментарии, я хочу аннулировать URL-адрес плана полной страницы, когда пользователь комментирует новый комментарий.
В модели комментариев нет URL-адреса, а у «родителя» также нет URL-адреса, тот же комментарий также будет отображаться на странице города, поэтому он полностью может использоваться повторно и частично.
Это на самом деле очень хорошее решение и изменило мой подход к кешированию. Если парень, который начал эту тему, еще не прочитал эти сообщения, он должен это сделать. Это похоже на то, что ему нужно (аннулировать целую страницу, если что-то внутри изменяется). –