2011-01-29 2 views

ответ

1

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

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

Назначение переменных сеанса заключается в добавлении состояния в веб-приложения (HTTP-протокол по сути является без гражданства, и нет другого способа хранения данных между запросами).

1

Кэширование - это общий термин, охватывающий множество возможных вариантов и вариантов.

Одна из таких реализаций - это переменные Session в IIS, с ограничениями на добавление к ней, которые являются специфичными для пользователя (или, точнее, для пользовательского сеанса).

Другие реализации могут быть переменными Application, кешем браузера, кэшированием прокси-серверов, специальным программным обеспечением для кеширования, которое находится между сервером приложений и базой данных и даже CDN (сетями доставки контента).

См. Статью в Википедии о cache.

1

Если при кэшировании вы конкретно ссылаетесь на класс System.Web.Cache, то ключевое различие между этим и Session заключается в том, что кэш является глобальным для приложения, тогда как сеанс специфичен для пользователя.