Лучше ли (1) кэшировать записи из таблицы, (2) полный граф объектов или (3) несколько частичных графов объектов в зависимости от варианта использования?
Позвольте мне уточнить:
Допустим, у меня есть система заказов с рабочим процессом. Он содержит объекты, такие как: Заказ, Линия заказа, Элементы, Клиент, Рабочий план, Фаза, Веха, Действия и т. Д.
(1) Я могу поместить все записи из таблицы Order в кеш, а все записи из таблицы OrderLines в кеш, а все записи из таблицы Items - в кеш и т. Д. Вероятно, это ужасная идея, потому что вы не можете запросить кеш очень хорошо.
(2) Я могу помещать объекты кэша, включая его OrderLines, OrderItems, Customer, Workplan, Phases, Milestones и т. Д., В кэш. Мне это не нравится, потому что я должен обновить кэшированный объект Order, если что-то изменится в его Orderlines, Orderitems, Item, Customer, PHases, Milestones и т. Д. Другое дело, что я не знаю, насколько большим будет кэшированный объект ордер имеет отношения с 10 или 15 другими объектами, и все они загружаются в кэшированный ордер.
(3) Я могу «разделить» объект на части для Orderdetails и часть для wokrflow. Таким образом, у меня есть кешированный объект Order со всеми соответствующими деталями Order. И у меня есть еще один объект Cached Order со всеми соответствующими деталями Workflow.
Ребята, есть ли у вас какие-либо предложения о том, как вы кешируете эти вещи?
(надеюсь, это понятно, в противном случае, пожалуйста, дайте мне знать)