Использование кэширования ASP.NET поверх кэширования NHibernate 2-го уровня - PullRequest
0 голосов
/ 26 февраля 2010

Стоит ли использовать кэширование ASP.NET для кэширования результатов запросов поверх кэширования 2-го уровня NHibernate для повышения производительности?

1 Ответ

0 голосов
/ 26 февраля 2010

Думаю, достаточно кеша NHibernate 2-го уровня. При использовании кэширования asp.net для кэширования тех же результатов запроса нет необходимости в дополнительных затратах. Но если вам нужна максимальная производительность, вы можете кэшировать отображаемые страницы и элементы управления, используя Кэш ядра IIS (собственный кэш вывода) . А также я рекомендую вам профилировать ваше приложение, используя NHibernate Profiler . Он покажет ошибки кеша и много полезной информации о ваших запросах с некоторыми хорошими рекомендациями.

Edit:
NHibernate.SysCache2 использует кэш ASP.NET, и он немного медленнее, поскольку поддерживает истечение срока действия на основе зависимостей SQL, что означает возможность автоматического истечения срока действия определенных областей кэша при изменении соответствующих данных в базе данных. Также вы можете попробовать кешировать ваши ViewModels. Но если вы можете их кэшировать, вы также можете кэшировать сгенерированные представления, что намного лучше и быстрее. И эта статья может быть полезна для вас - http://haacked.com/archive/2009/05/12/donut-hole-caching.aspx

...