Какой механизм кэширования лучше всего использовать для веб-приложений .Net?

Какой механизм кеширования я должен использовать для веб-приложения .Net? Memcached кажется лучшим для стека LAMP и Linux в целом, но я не уверен, что это ответ для веб-приложения .Net, работающего в Windows. Мои требования заключаются в том, чтобы он был распространен и работал в Windows.


person jamesaharvey    schedule 27.08.2009    source источник


Ответы (3)


Не существует такой зрелой системы распределенного кэширования, как memcached для Windows, но Velocity - это система распределенного кэширования, созданная Microsoft, и ее бета-версия доступна для загрузки.

Хотя я видел, как многие люди запускают memcached в Linux и используют один из клиентов .NET для memcached в своем коде ASP.net.

person jwanagel    schedule 27.08.2009

Обратите внимание на ScaleOut StateServer - он изначально был разработан для обеспечения высокой производительности, вне всяких сомнений. of-process, распределенное управление сеансами в сценарии веб-фермы, но оно также предназначено для кэширования общего назначения.

Это тоже зрелый продукт, но он не бесплатный. Основное преимущество заключается в том, что он был разработан специально для работы со стеком ASP.NET / Windows.

person Sam    schedule 27.08.2009

ASP.NET «из коробки» предлагает две стратегии кэширования: кэширование приложений и кэширование вывода страницы. Для получения дополнительной информации см. Обзор кэширования ASP.NET:

Часто приложение может повысить производительность, сохраняя в памяти данные, к которым часто обращаются и для создания которых требуется значительное время обработки. Например, если ваше приложение обрабатывает большие объемы данных, используя сложную логику, а затем возвращает данные в виде отчета, к которому пользователи часто обращаются, эффективно избегать повторного создания отчета каждый раз, когда пользователь запрашивает его. Точно так же, если ваше приложение включает страницу, которая обрабатывает сложные данные, но обновляется нечасто, для сервера неэффективно воссоздавать эту страницу при каждом запросе.

Чтобы помочь вам повысить производительность приложения в этих ситуациях, ASP.NET предоставляет кэширование с использованием двух основных механизмов кэширования. Первый - это кэширование приложения, которое позволяет кэшировать данные, которые вы генерируете, например DataSet или бизнес-объект настраиваемого отчета. Второй - кэширование вывода страницы, которое сохраняет вывод обработки страницы и повторно использует вывод вместо повторной обработки страницы, когда пользователь снова запрашивает страницу.

person Andrew Hare    schedule 27.08.2009
comment
К сожалению, ни один из них не имеет ничего общего с типом распределенного кеша, о котором спрашивает OP. - person Joel Mueller; 27.08.2009