Кэширование данных для веб-сайта ASP.NET в среде веб-фермы - PullRequest
2 голосов
/ 13 сентября 2011

Я провел некоторый поиск и не нашел конкретного ответа.Во всяком случае, мне было интересно, как большинство веб-сайтов среднего размера на основе ASP.NET кэшируют данные, чтобы им не всегда приходилось искать в базе данных одни и те же данные на разных страницах при работе в среде веб-фермы.Я знаю, что вы можете использовать кеш sql-сервера, но для меня это наносит ущерб всей цели кеша.Если я хочу использовать выделенный сервер для совместного использования кэша (и даже возможных данных сеанса), что большинство сайтов используют для этого?Я выполнил поиск и получил много «догадок», когда дело доходит до реализаций, но действительно трудно поверить, что не существует какого-либо стандартного способа сделать это, учитывая, что существует так много сайтов ASP.NET.

Мне известно о AppFabric, который, кажется, может сработать, но работает только на Windows Server 2008+, и в настоящее время мы используем 2003. Кроме того, я проверил NCache, но, похоже, немногодорогой.

Кто-нибудь реализовал решение, которое работает для них?Поиск по базе данных может быть очень болезненным, если на ваш сайт одновременно заходят более 1000 пользователей.

Заранее спасибо!

1 Ответ

1 голос
/ 15 июня 2012

Возможно, стоит взглянуть на HttpContext.Cache и HttpRuntime.Cache

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

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

...