asp.net mvc - кеширование - PullRequest
       13

asp.net mvc - кеширование

5 голосов
/ 25 февраля 2010

Я изучаю кеширование с ASP.NET MVC, и я также нахожусь в процессе завершения веб-хостинга. У меня два вопроса ...

1) Кэширование создает проблему, когда выполняется в среде общего хостинга, так как ресурсы являются общими и все? Этот вопрос может показаться глупым, но я просто не знаю, как кеширование работает за кулисами.

2) Прежде чем приступить к реализации кэширования, я хочу спросить, имеет ли этот подход смысл. Я буду кэшировать как можно больше данных и аннулировать их при необходимости. Однако, как работает кэширование для списка элементов, который обновляется очень часто, скажем, за минуту или около того. Например, лицевая страница StackOverflow, с таким количеством вопросов, которые добавляются каждую минуту, может ли главная страница кэшироваться?

РЕДАКТИРОВАТЬ: 3) Я также хотел бы обсудить, как кэширование работает с подкачкой и все.

1 Ответ

1 голос
/ 25 февраля 2010

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

Asp.net MVC использует стандартный поставщик кэширования ASP.NET без изменений. На общем хосте кэширование должно работать правильно, однако имейте в виду, что хост может заблокировать настройки кэша, если они захотят на уровне компьютера. Поставщик Cache занимается управлением памятью и удаляет элементы из кэша, если использование памяти становится слишком высоким. Я предлагаю вам прочитать страницы MSDN о кэшировании здесь .

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

Что касается подкачки, функция кэширования вывода asp.net позволяет варьировать строку запроса, поэтому если у вас есть www.url.com?page=1, это будет храниться отдельно в кэше от www.url. ком? страница = 2

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