Вы здесь

Entity cache и Display Cache — комплексное кеширование сущностей

В Drupal 7 одним из главных нововведений было появление новой концепции сущностей (Entity). К сущностям относятся: ноды, комментарии, пользователи, термины таксономии и другие. К сущностям также можно крепить любой набор полей. Но, наверняка, многие знают о проблемах с производительностью при загрузке объектов сущности и дальнейшем их рендеринге, отрисовке в html код для вывода на страницу. А в особенности, если выводится сразу много сущностей, да еще и если к ним прикреплено штук пару-пятнадцать полей.

Для анонимных пользователей можно конечно же закешировать всю страницу (cache page) и отдавать каждому последующему посетителю страницу целиком из кеша. Для авторизованных пользователей все обстоит немного посложнее, ибо для них некоторые элементы страниц будут отличаться.

Многие стараются избежать при выводе материалов модулем views сущностей целиком, чтобы избежать вызовов node_load() для загрузки объектов нод. Вместо этого выбирают вывод только нужных полей. Также существует возможность закешировать вьюс на определенное время, также как и панели. Но, что делать если в какой-либо ноде изменилось какое то поле или же нода была удалена. По хорошему хотелось бы, чтобы и кеш вьюса или панели "освежился".

Читать статью полностью

3
4
09.04.2015 - 15:18

Комментарии

Аватар пользователя Chi
Chi – 10.04.2015 - 06:51

Многие стараются избежать при выводе материалов модулем views сущностей целиком, чтобы избежать вызовов node_load() для загрузки объектов нод.

Так вроде все равно будет вызываться.
http://xandeadx.ru/blog/drupal/765

Аватар пользователя drupby
drupby – 10.04.2015 - 12:18

node_load() как раз таки вызываться не будет

Аватар пользователя zniki.ru
zniki.ru – 17.04.2015 - 03:04

К сущностям также можно крепить любой набор полей.

Может я ошибаюсь, но есть сущности к которым поля нельзя крепить.
'fieldable' => false,

Аватар пользователя drupby
drupby – 17.04.2015 - 11:26

Ты хочешь сказать, что твое утверждение каким то образом опровергает мое?