Шаблоны для кэширования связанных данных

В настоящее время я разрабатываю основу приложения и ищу способы оптимизировать производительность. Моя установка основана на структуре CakePHP , но я считаю, что мой вопрос актуален для любого технологического стека, поскольку он связан с кэшированием данных.

Давайте возьмем типичное отношение пост-автора, которое представлено как 2 таблицы в моей db. Когда я запрашиваю в базе данных конкретное сообщение в блоге, в то же время встроенная функция ORM в CakePHP также выбирает автора сообщения, комментарии к сообщению и т. Д. Все это возвращается как один большой вложенный массив , который я сохраняю в кеше с использованием уникального идентификатора для соответствующего сообщения в блоге.

При обновлении сообщения в блоге уничтожение кеша для сообщения и его восстановление с помощью следующего запроса - это детская игра.

Но что происходит, когда обновляется не основная сущность (в данном случае сообщение в блоге), а некоторые связанные данные? Например, комментарий может быть удален, или автор может обновить свой аватар. Существуют ли какие-либо подходы (шаблоны), которые я мог бы рассмотреть для отслеживания обновлений связанных данных и соответствующего применения обновлений к моему кешу?

Мне любопытно узнать, сталкивались ли вы также с аналогичными проблемами, и как вы справились чтобы потенциально преодолеть препятствие. Не стесняйтесь предлагать абстрактную перспективу, если вы используете другой стек на своей стороне. В любом случае ваши взгляды очень ценятся, большое спасибо!

5
задан Shahways 20 February 2011 в 16:50
поделиться