@vareted

Как получить свежие данные из БД при включённом кэше второго уровня в Doctrine ORM?

Для работы с базой данных используется Doctrine ORM.
Включено кэширование второго уровня.
Для таблиц базы данных прописаны отношения с другими таблицами. При запросе связанные таблицы автоматически подгружаются и кэш второго уровня кэширует эти отношения.
Можно получить свежие данные главной таблицы из БД, без кэша, но дочерние таблицы которые автоматически подгружаются это кэш. Как можно запросить полностью свежие данные, чтобы и данные из главной таблицы было не из кэша, и дочерние таблицы тоже не были из кэш???
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 1
@v__V__v
Разработчик
Если такие запросы редки, то первое, что сходу приходит в голову - это перед такими запросами сбрасывать кэш для запрашиваемой сущности. Если все сильно запущено, то кэш целиком.
Второе, что приходит в голову - найти в документации что-то, что позволит получать свежие данные. Беглый поиск показал, что есть некий Query::HINT_REFRESH, который, возможно, вам поможет.
Третье - поискать возможные готовые решения или похожие случаи. Их не так, чтобы очень много, но они есть. Например, вот - https://www.gregfreeman.io/2012/invalidating-the-r...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы