Фреймворки кеша для .NET - PullRequest
       19

Фреймворки кеша для .NET

4 голосов
/ 04 марта 2010

Я планирую разработать веб-сервис, мне нужно использовать в кеше памяти, какие существуют разные платформы кэширования для .NET, я использовал блок Microsoft Enterprise Library Cache, а также оценил NCache для распределенной среды.

Моим основным требованием является надежность с кэшированными данными, я думал об использовании хранилища данных блочной базы данных Enterprise Lib Cache для сохранения в случае перезапуска рабочего процесса.

Любые варианты ??

Ответы [ 5 ]

5 голосов
/ 10 сентября 2012

Вы можете оформить заказ GigaSpaces XAP.NET , который полностью распределен и является транзакцией в сетке данных памяти, которая может служить в качестве кеша среди многих других вещей. Он также может быть вашим реальным сервером приложений, который позволяет вам развертывать ваше приложение распределенным способом вместе с распределенным кешем. Это высокодоступная, самовосстанавливающаяся и самоуправляемая сетка, которую вы можете масштабировать и использовать по требованию.

Отказ от ответственности - я работаю на GigaSpaces.

4 голосов
/ 04 марта 2010

Ваш кэш является энергозависимым хранилищем, вы должны написать свое программное обеспечение так, чтобы оно ОЖИДАЛО, что кеш недоступен. например,

public DtoThing GetSomeData(string parameters)
{
   if (<check cache for data> == <not there>)
     return <get data from persistent store>
   else
     return <get data from cache>
}

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

3 голосов
/ 04 марта 2010

У меня есть опыт использования Microsoft Enterprise Library Cache Block, и он работал нормально для меня. Иногда конфигурация EntLib может быть немного многословна, но она выполняет свою работу. Есть ли конкретная причина, по которой вы ищете что-то еще?

1 голос
/ 04 марта 2010
0 голосов
/ 12 августа 2013

Существует множество потенциальных решений для этого типа вопроса. Вы упомянули, глядя на NCache; если у вас есть время, посмотрите Oracle Coherence, продукт, который NCache пытался скопировать; -)

Однако я предлагаю следующее: если вам не нужны преимущества распределенного кэша, гораздо проще использовать однопроцессный кэш в памяти.

И на случай, если вам интересно, одно раннее обсуждение происхождения NCache: http://www.theserverside.com/news/thread.tss?thread_id=43950

...