SQLCacheDependency и AppFabric Server

У меня есть ситуация, когда мне нужно заменить нашу нынешнюю систему зависимостей файлового кэша на новую. То, на что я смотрю, движется к использованию AppFabric для кеширования. Мне было интересно, работает ли метод SQLDependencyCaching, в котором таблица уведомляет приложение об обновлениях данных, работает с AppFabric, как и с ASP.NET, встроенным в кеширование?

3 ответа

Решение

Внутри кэширования AppFabric не поддерживается механизм SqlCacheDependency (или, по сути, любая зависимость).

Однако в AppFabric 1.1 представлен класс DataCacheStoreProvider, который можно использовать для обеспечения того, чтобы кэш всегда синхронизировался с базовой базой данных. По сути, вы создаете класс, который наследуется от DataCacheStoreProvider, и создаете для него методы, которые сообщают ему, как читать и обновлять вашу базу данных. Затем вы выполняете весь доступ к данным - добавление объектов, обновление существующих объектов и т. Д. - по отношению к кешу, поэтому в кеш всегда есть самая последняя версия данных. Затем кеш вызывает класс вашего провайдера, чтобы обновить базу данных и сохранить ваши изменения. Здесь есть пошаговое руководство по созданию класса провайдера.

Хотя это не поддерживается в appfabric, но поддерживается в NCache. NCache имеет функцию Cache Dependency, которая позволяет вам управлять реляционными данными с отношениями 1-1, 1-n и mn между элементами данных. Зависимость кеша позволяет сохранить целостность данных в кеше.

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

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

MSDN: создание и использование пользовательских провайдеров Output Cache в ASP.NET

Другие вопросы по тегам