Предложения по простому решению распределенного кэширования .NET

У нас есть один сервер под управлением Windows Server 2003 для нашего производственного веб-сервера. Наш веб-сайт имеет различные модули, и каждый из них работает в своем собственном пуле приложений. Это делает кэширование немного проблематичным, поскольку каждый модуль имеет свой собственный кэш, и часто несколько модулей кэшируют одни и те же элементы. Проблема заключается в том, что когда элемент в кэше изменяется в одном модуле, другой модуль, кэширующий тот же элемент, не может быть легко обновлен.

Наш сайт написан на ASP.NET 4.0, и мы кэшируем наборы данных, бизнес-объекты, коллекции, списки и т.д., используя стандартный объект HttpRuntime.Cache в качестве простого хранилища ключей/значений. Мы не используем никаких файловых зависимостей, но используем истечение времени. У нас всего около 400 пользователей одновременно, поэтому мы не делаем ничего слишком безумного.

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

Я ищу что-то простое, быстрое, легкое, безопасное для запуска в производстве, и желательно бесплатное, если возможно, но это не обязательно должно быть. Оно должно работать на Windows Server 2003 и работать с ASP.NET 4.0.

Любые предложения или информация?

5
задан Billy 9 December 2011 в 02:20
поделиться