Doctrine 2 Рабочий процесс кэширования - PullRequest
1 голос
/ 30 января 2011

Я новичок в кэшировании

  • Что я должен кешировать
    • например. Я кеширую информацию о пользователе? например. так как они часто используются во всем приложении (как в заголовке с надписью "welcome {username}")?
    • Но в любом случае большинство вещей следует использовать довольно часто? например. У пользователей есть проекты. Эти проекты не принадлежат всем, но они будут часто использоваться конкретными пользователями. Я тоже их кеширую? Разве я не буду кэшировать тогда почти все?
  • Также в отношении CRUD, с запросами доктрины, я могу просто использовать $query->useResultCache(true), но что происходит, когда я обновляю / удаляю сущность? Мне нужно как-то обновить свой кеш тоже? как?

1 Ответ

2 голосов
/ 25 февраля 2011

Основной принцип кэширования - хранить часто используемые данные, которые не часто меняются, в памяти, чтобы уменьшить работу базы данных.

Удобнее использовать переменные сеанса php для хранения основных вещей, таких как имя пользователя.

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

Также обратите внимание, что если информация, которую вы предоставляете пользователям, жизненно важна или важна для времени, вы должны осторожно использовать кэширование.

Проверьте эту справочную страницу для получения основной информации о кэшировании http://www.doctrine -project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#cache-related-api

Или проверьте http://www.doctrine -project.org/docs/orm/2.0/en/reference/caching.html для подробного объяснения.

...