Как работает ASP.NET Cache? - PullRequest
19 голосов
/ 09 марта 2009

Я заинтересован в использовании ASP.NET Cache для уменьшения времени загрузки. Как мне это сделать? С чего мне начать? А как именно работает кеширование?

Ответы [ 4 ]

31 голосов
/ 09 марта 2009

По мере роста приложений вполне нормально использовать кеширование как способ повысить масштабируемость и поддерживать согласованное время отклика сервера. Кэширование работает путем хранения данных в памяти, что значительно сокращает время доступа. Для начала я бы посмотрел на кеширование ASP.NET.

В веб-приложениях ASP.NET существует 3 типа общих методов кэширования:

  • Кэширование вывода страницы (уровень страницы)
  • Page Parttial-Page Output (Отдельные элементы страницы)
  • Программное или Кеширование данных

Кэширование вывода

Кэширование вывода на уровне страницы кэширует html-страницу, поэтому при каждом запросе страницы ASP.NET она сначала проверяет кэш вывода. Вы можете изменять эти запросы по входным параметрам ( VaryByParam ), поэтому страница будет кэшироваться только для пользователей с ID = 1, если поступают запросы с ID = 2, кэш asp.net достаточно умен, чтобы знать Нужно перерисовать страницу.

Кэширование частичных страниц

во многих случаях не имеет смысла кэшировать всю страницу, при таких обстоятельствах вы можете использовать частичное кэширование страниц. Это обычно используется с пользовательскими элементами управления и устанавливается так же, как и на уровне страницы, только добавляя декларацию OutputCache внутри usercontrol.

Кэширование данных

Вы можете хранить объекты или значения, которые обычно используются в приложении. Это может быть так же просто, как:

Cache["myobject"] = person; 

Кэширование на уровне предприятия

Стоит отметить, что существует множество архитектур кэширования уровня предприятия, которые позволяют повысить эффективность кэширования. Memcache для .net и Velocity (теперь App Fabric) - пара.

В общем

Вы не можете делать общие заявления о том, что вы должны и не должны кэшировать, потому что каждое приложение отличается. Тем не менее, вы можете сделать несколько обобщений, которые верны MOST времени. Статические элементы, такие как изображения и содержимое, можно кэшировать. Даже динамическая страница, которая забивается, стоит кешировать в течение 5-10 секунд, это будет иметь огромное значение для вашего веб-сервера.

Обзор кэширования

8 голосов
/ 09 марта 2009

Лучше всего было бы проверить пару видео с кэшированием на www.asp.net / learn / videos , а именно: Как использовать кэширование? и Как лучше использовать кэширование?

Я всегда нахожу их полезными.

3 голосов
/ 09 марта 2009

Взгляните на http://www.dnrtv.com/default.aspx?showNum=85 это действительно хороший видеоурок о том, как выполнять кэширование

Я думаю, что стек над потоковым модулем также говорит об этом

1 голос
/ 09 марта 2009

Чтобы начать кэширование ASP.NET, вот хороший учебник Краткое руководство по ASP.NET для кэширования . Кэширование вывода и кеширование фрагментов хорошо для понимания концепции.

А вот полезная библиотека от команды Microsoft Patterns and Practices Блок приложения для кэширования для программного кэширования в приложениях .NET.

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