AppFabric против System.Runtime.Caching - PullRequest
5 голосов
/ 21 октября 2011

TLDR версия: для кэширования множества небольших таблиц базы данных, которые редко меняются в моей службе .NET4 WCF. Какую технологию легче всего внедрить, легче поддерживать и лучше всего использовать и почему?

Длинная версия: я начинаю работать над стратегией кеширования для нового проекта. Раньше все было просто, потому что было меньше предварительно упакованных опций (Enterprise Library для начинающих), но теперь, когда доступны платформа .NET 4 и AppFabric, мне труднее выбрать решение. По сути, я хочу кэшировать множество небольших (<100 строк с 2-4 столбцами) таблиц базы данных, которые редко меняются, и моя служба WCF извлекает их из кэша, а не извлекает их каждый раз из базы данных. Я начал читать документацию, смотреть видео и загружать учебные материалы, но опыт - лучший учитель, и мне было трудно найти сравнения между ними. </p>

Любой совет будет весьма признателен! Спасибо!

1 Ответ

10 голосов
/ 21 октября 2011

насколько я понимаю, AppFabric - это распределенная высокодоступная платформа кеширования между приложениями.

по сравнению с классическим кешированием ASP.NET или другими локальными системами кеширования, это подразумевает, что IPC медленнее, чем внутрипроцессное кеширование ив любом случае внутрипроцессные вызовы, но имеет большое преимущество: несколько приложений могут обращаться к одному и тому же кластеру кэша, если это необходимо, и перезапуск пула приложений в IIS или на целых веб-серверах не будет означать потерю кэша в случае, если вы разработали определенныйсерверы кэширования в вашей инфраструктуре.

, будучи высокодоступным и кластеризованным в случае сбоя сервера кэширования, другие серверы все равно будут обрабатывать запросы.

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

Я думаю, что есть компромисс, чтобы решить, лучше ли использовать вызовы IPCнемного медленнее, но надежность и поделилсяКеш кластера в компании или нет.

...