По мере роста приложений вполне нормально использовать кеширование как способ повысить масштабируемость и поддерживать согласованное время отклика сервера. Кэширование работает путем хранения данных в памяти, что значительно сокращает время доступа. Для начала я бы посмотрел на кеширование 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 секунд, это будет иметь огромное значение для вашего веб-сервера.
Обзор кэширования