Интенсивное использование NHibernate Futures в веб-приложении - хорошо или плохо? - PullRequest
3 голосов
/ 11 августа 2011

Я прочитал пост Ayende о Futures в NHibernate и начал его использовать. Сначала только для изолированного сценария - запросы, которые возвращают постраничные результаты (как для запроса, так и для подсчета элементов в одной поездке в базу данных). Но потом я подумал, почему бы не использовать фьючерсы для каждого отдельного запроса. В большинстве моих методов действий мне нужно делать несколько запросов, в среднем по 5 на страницу (чтобы получить профиль пользователя, нижний колонтитул, категории, информацию о группе и т. Д.).

Очевидным преимуществом является то, что в целом эти запросы должны быть короче для выполнения. Но есть ли недостатки такого дизайна веб-приложения? Области, которые делают меня любопытным:

  • Кэширование в NHibernate - помешает ли этот дизайн каким-либо образом использовать функции кэширования NHibernate?
  • Может быть, такой пакет запросов заблокирует таблицы базы данных и заставит другие параллельные действия ждать? Я использую уровень изоляции Read Committed.

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

1 Ответ

3 голосов
/ 11 августа 2011

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

Фьючерсы качаются, и я бы хотел, чтобы у каждого ORM, который я использую, были такие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...