Глава 11

Кэширование

 

Одним из наиболее ценных средств ASP.NET 1 .х является кэширование, а в ASP.NET 2.0 дела с ним обстоят еще лучше. Кэширование — техника хранения в памяти копий некоторой информации, которую дорого пересоздавать. Например, можно кэшировать результаты сложного запроса, так что для повторного его выполнения вообще не потребуется обращаться к базе данных. Вместо этого соответствующий объект будет извлечен непосредственно из памяти сервера, что намного быстрее. Истинная красота кэширования в том, что в отличие от многих других приемов повышения производительности, оно повышает как производительность, так и масштабируемость. Производительность растет благодаря значительному снижению времени, необходимого на извлечение информации. Масштабируемость же становится лучше благодаря тому, что обходятся узкие места — такие как соединения с базой данных. В результате приложение может обслужить больше запросов страниц одновременно при меньшем количестве операций с базой данных.

Конечно, сохранение информации в памяти — не всегда хорошая идея. Память сервера — ограниченный ресурс; если вы попытаетесь сохранить в ней слишком много, то некоторая информация будет сброшена на диск, что потенциально может замедлить работу всей системы. Вот почему наилучшие стратегии кэширования (в том числе встроенные в ASP.NET) являются самоограниченными. Когда вы сохраняете информацию в кэше, то чаще всего ожидаете найти ее там при следующем запросе. Однако время жизни такой информации зависит от сервера. Если кэш переполняется или другое приложение запрашивает значительный объем памяти, эта информация будет выборочно удалена из кэша для обеспечения максимальной общей производительности. Как раз такая самодостаточность и делает кэширование настолько мощным (и сложным для самостоятельной реализации).

Вместе с ASP.NET вы получаете первоклассный механизм кэширование бесплатно, и у вас есть широкий выбор опций. Можно кэшировать полностью сгенерированный HTML страницы, его часть или произвольные объекты. Можно настроить по своему усмотрению политику замещения информации в кэше и установить зависимости так, что элементы будут удаляться автоматически. Когда модифицируются другие ресурсы — такие как файлы или таблицы базы данных.

Изменения в кэшировании ASP.NET 2.0

ASP.NET 2.0 еще больше усовершенствовал его и без того впечатляющую модель кэширования. Ниже приведен список изменений в том порядке, как они будут описаны в настоящей главе:

предыдущая    следующая страница    вначало главы    оглавление

481

Hosted by uCoz