У меня возникла ситуация, когда мне нужно заменить нашу текущую систему зависимостей кеша на основе файлов на новую. То, на что я смотрю, движется к использованию AppFabric для кэширования. Мне было интересно, работает ли метод SQLDependencyCaching, когда таблица уведомляет приложение об обновлениях данных, с AppFabric, как со встроенным кэшированием ASP.NET?
SQLCacheDependency и сервер AppFabric
Ответы (3)
В механизме кэширования AppFabric нет поддержки механизма SqlCacheDependency (или фактически любого вида зависимости).
Однако в AppFabric 1.1 представлен класс DataCacheStoreProvider, который можно использовать для обеспечения постоянной синхронизации кэша с базовой базой данных. По сути, вы создаете класс, который наследуется от DataCacheStoreProvider, и создаете для него методы, которые сообщают ему, как читать и обновлять вашу базу данных. Затем вы выполняете весь доступ к данным — добавление объектов, обновление существующих объектов и т. д. — против кеша, поэтому в кеше всегда есть самая последняя версия данных. Затем кеш вызывает ваш класс провайдера для обновления базы данных и сохранения ваших изменений. Пошаговое руководство по созданию класса поставщика приведено здесь.
хотя он не поддерживается в appfabric, но поддерживается в NCache. NCache имеет функцию зависимости от кэша, которая позволяет управлять реляционными данными с помощью 1- 1, 1-n и mn отношения между элементами данных. Cache Dependency позволяет сохранить целостность данных в кеше.
Существует поставщик кэша вывода Windows Azure, он работает несколько иначе, чем Однако SqlDependencyCache обладает хорошей производительностью и другими преимуществами.
Вы также можете написать собственный поставщик кэша вывода и использовать уведомления Azure Cache. для запуска обновления в зависимости от ваших требований.
MSDN: создание и использование пользовательских поставщиков OutputCache в ASP.NET