2013-12-16 4 views
5

Я работаю на asp.net 4 веб-проекта, проект построен с 3 подпроектов:ASP.NET - несколько веб-приложений - кэш Sharing объекты

  • Site.Admin - Администратор сайта - ASP. NET Проект
  • Сайт.Core - DB & BL - C# Library
  • Сайт.Web - Сайт Frontend. - Проект ASP.NET

Проект размещен на сервере единого окна 32 бит

Я в настоящее время с помощью ASP.NET Cache (HttpRuntime.Cache) для объектов кэша, но проблема в том, что я не могу поделиться кешем между Frontend & Веб-сайтами администратора.

От чтения StackOverflow и другие должности, я не понимаю, что следующие варианты существуют:

  1. Memcached - Нет стабильной версии Windows?
  2. Couchbase - Нет бесплатной версии? overkill для замены кэша asp.net?
  3. AppFabric
  4. Redis - нет стабильной версии Windows?

Я ищу бесплатное/неоплачиваемое решение для замены кэша asp.net.

Я хотел бы получить некоторые материалы в отношении:

  1. Windows, установка Совместимость

  2. Производительность

  3. Простота использования (замена существующего кода кэша) & .NET API.

  4. Другие альтернативы?

+0

Просто, чтобы вы знали, что Couchbase имеет сообщество, которое вы можете использовать, и нет ограничений на размер кластера. – mikewied

ответ

2

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

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

В проекте для клиента нам нужно было создать дополнительное приложение рядом с устаревшим приложением, не зная, сколько раз это устаревшее приложение обращалось к кешу времени выполнения. По-видимому, и это только стало очевидным после переключение на AppFabric, кеш был неправильно использован вообще. И теперь это стало болезненно очевидным, поскольку вызовы AppFabric намного медленнее, чем помещение объектов в кеш времени выполнения (AppFabric использует WCF для связи с веб-приложениями, где кеширование в режиме реального времени напрямую помещает объекты в память). AppFabric не медленный, но он значительно медленнее, чем кэширование времени выполнения, поэтому используйте разумно.

Но это устаревшее приложение сделало тысяч звонков в кеш (да, я знаю). Поэтому просто запустите несколько тестов, будет ли это работать для вашей ситуации.

+0

Это именно то, что я читал о AppFabric, его большом существе и намного медленнее, чем кеш asp.net. Мое приложение также является существующим приложением и сильно использует кеш, любая идея, если производительность memcached лучше, чем кеш asp.net? – RuSh

+0

@sharru У меня нет опыта с MemCached. – bump