Блок кэша приложений C # - PullRequest
       27

Блок кэша приложений C #

2 голосов
/ 17 ноября 2010

Я ищу эффективную стратегию кэширования для C #. Я создаю приложение MVC, однако один из моих запросов нацелен на историческую таблицу с состояниями и т. Д. Излишне говорить, что запрос является сильно вложенным и сложным, и я не хочу запускать его каждый раз, когда человек попадает на сайт, поэтому решил кешировать данные (либо результаты, либо сами таблицы). Я не хочу хранить свой кэш в управляемой куче из-за проблемы со сборкой мусора, которая часто встречается у генераторов GC и кэшей. Мне было интересно, использует ли Cache Application Block (http://msdn.microsoft.com/en-us/library/ff650180.aspx) неуправляемую память (вне управляемой кучи?). Есть ли способ получить доступ к памяти напрямую через встроенный ввод-вывод? Какие-либо другие инструменты кэширования стоит изучить?

Ответы [ 3 ]

2 голосов
/ 17 ноября 2010

Я настоятельно рекомендую вам взглянуть на AppFabric Caching. Я только что реализовал для моего приложения MVC, и он отлично работал.

Я использовал этот блог, чтобы начать:

http://www.hanselman.com/blog/InstallingConfiguringAndUsingWindowsServerAppFabricAndTheVelocityMemoryCacheIn10Minutes.aspx

Дайте мне знать, если вам нужны примеры кода.

2 голосов
/ 17 ноября 2010

Вы также можете изучить параметры распределенного кэширования, такие как Memcached или SharedCache . Мы использовали SharedCache для одного из наших проектов, и он работал хорошо. Как предложено в одном из ответов, вы также можете попробовать AppFabric. Если вы ищете решение на основе Microsoft, то есть Microsoft, которая предлагает распределенное кэширование Velocity.

Надеюсь, это поможет.

2 голосов
/ 17 ноября 2010

.Net кэширующие каркасы, которые мне известны:

Несмотря на то, что я изучал различные структуры кэширования, я боюсь, что у меня нет особого опыта ни с одной из них, кроме System.Web.Caching - это прекрасно работает для наших целей.

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