Framework / Dll / ... для управления кешем + опрос сервиса - PullRequest
1 голос
/ 14 марта 2011

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

Поэтому я спрашивал меня, есть ли что-то, что могло бы удовлетворить мои потребности, или мне придется создавать свою собственную структуру для этого. Это может быть только «ядро», обеспечивающее логику, и мы должны реализовать бизнес-часть.

Мои потребности:

  • Источниками данных могут быть WCF / Web-сервис / ... (эта часть должна быть реализована в каждом новом проекте
  • Он должен управлять хранилищем данных доступны
  • Этот магазин должен регулярно обновляться путем опроса службы
  • Это хранилище может быть постоянным (запись кэша на диск для следующего запуска)
  • Фреймворк должен разрешать модификации, онлайн и оффлайн, асинхронный и синхронный (если онлайн)
  • Он должен работать с c # 4.0
  • Если бы доступ к локальному хранилищу кэша можно было получить через LINQ, это было бы здорово (например, напрямую через список
  • Необходимо управлять параллелизмом (или предложить нам способ управления им)
  • Использование / настройка этого фреймворка должна быть короче, чем реализовывать его каждый раз

Итак, мы здесь, знаете ли вы инструменты, которые могут вписаться в мой запрос?

Кто-то сказал мне, что в библиотеке MS entreprise должно быть что-то подобное, но я ничего не нашел.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 25 сентября 2011

Вы можете взглянуть на

Windows Server AppFabric . Раньше его называли «скорость».

Это распределенная платформа кэш-памяти приложений для разработка масштабируемых, высокопроизводительных приложений.

В противном случае блок приложения кэширования Enterprise Library, о котором вы говорите, находится здесь: Блок приложения кэширования однако на этой странице написано:

Функциональные блоки кэширования приложений встроены в .NET Framework 4,0; поэтому блок приложения кэширования Enterprise Library будет быть устаревшим в выпусках после 5.0. Вы должны рассмотреть возможность использования .NET 4.0 System.Runtime.Caching вместо классов Caching Блок приложений в будущем развитии.

И действительно, System.Runtime.Caching Namespace - очень хороший строительный блок, на котором можно строить, если вы собираетесь что-то написать самостоятельно. Я не думаю, что он реализует понятие распределенного кэша, поэтому существует Windows Server AppFabric.

Теперь в пространстве .NET доступны также технологии сторонних разработчиков. Посмотрите реализацию или использование memcached и .NET:

У вас также есть коммерческие пакеты, например NCache (я не аффилирован). Я не знаю, что они предоставляют, но также, вероятно, интересно взглянуть на это, просто чтобы знать, что они предоставляют, чтобы убедиться, что вы не пропустите ни одной функции, которая понадобится вам позже.

0 голосов
/ 14 марта 2011

Посмотрите на SharedCache .

...