AppFabric Caching предоставляет платформу распределенного кеширования в памяти для Windows Server . [1] Microsoft разработала AppFabric Caching и выпустила его как часть AppFabric .
Архитектура
AppFabric Caching хранит сериализованные управляемые объекты в кластере кеша. Кластер кеша состоит из одной или нескольких машин, которые объединяют доступную физическую память. [2] Эта объединенная память предоставляется клиентам кэширования как единый источник кэширующей памяти. Объекты хранятся и доступны с использованием связанного значения ключа.
Компоненты кэширования AppFabric должны быть установлены на каждом сервере в кластере кэша. [3] После установки необходимо использовать мастер настройки AppFabric для присоединения каждого сервера к кластеру кэша. [4] Требуется внешний файловый ресурс или база данных для поддержания настроек конфигурации кластера кеша. [5] Набор команд Windows PowerShell для кэширования предоставляет возможности администрирования кластера кеширования. [6]
Примеры кода
Обратите внимание, что образцы кода в этом разделе показаны на C # .
Распространенной задачей является создание кода, который помещает, извлекает и удаляет объекты из кеша. Эти операции нацелены либо на кеш по умолчанию, либо на именованный кеш. [7]
Сначала создайте статический член DataCache [8] :
общедоступный статический DataCache _cache ;
Затем создайте метод, который обращается к этому кешу. Свойства кеша можно сохранить в файлах app.config или web.config. [9] Параметры кэша также можно настроить программно. [10] В следующем примере показано, как программно настроить кэш.
общедоступный статический DataCache GetCache () { если ( _cache ! = null ) return _cache ; // Определить массив для 1 списка хостов кэша < DataCacheServerEndpoint > servers = new List < DataCacheServerEndpoint > ( 1 ); // Укажите детали хоста кэша // Параметр 1 = имя хоста // Параметр 2 = серверы номера порта порта кеша . Добавить ( новый DataCacheServerEndpoint ( "mymachine" , 22233 )); // Создание конфигурации кеширования DataCacheFactoryConfiguration configuration = new DataCacheFactoryConfiguration (); // Устанавливаем конфигурацию хоста (ов) кеша . Серверы = серверы ; // Установить свойства по умолчанию для конфигурации локального кеша (локальный кеш отключен) . LocalCacheProperties = новый DataCacheLocalCacheProperties (); // Отключить трассировку, чтобы избежать информационных / подробных сообщений на веб-странице DataCacheClientLogManager . ChangeLogLevel ( Система . Диагностика . TraceLevel . Выкл. ); // Передаем параметры конфигурации в конструктор cacheFactory _factory = new DataCacheFactory ( конфигурация ); // Получить ссылку на именованный кеш с именем "default" _cache = _factory . GetCache ( «по умолчанию» ); return _cache ; }
Следующий метод показывает, как использовать объект _cache для извлечения данных из кеша. В этом примере идентификатор пользователя ( ИД пользователя ) является ключом для связанного информационного объекта пользователя. Код сначала пытается получить эту информацию о пользователе из кеша, используя ключ идентификатора пользователя . Если это не удается, код извлекает информацию с помощью запроса к базе данных, а затем сохраняет возвращенные данные пользователя в кеше. При следующем запуске того же кода информация о пользователе будет возвращена из кеша, а не из базы данных. Это предполагает, что срок действия кэшированных данных не истек или они не были удалены.
dataType GetUserData ( строка userId ) { dataType data = null ; // Попытка получить данные пользователя из кеша: объект dataObject = _cache . Получить ( userId ); если ( dataObject ! = null ) data = ( dataType ) dataObject ; else { // Если его нет в кеше, извлечь его из базы данных: data = GetUserDataFromDatabase ( "ВЫБРАТЬ * ОТ пользователей WHERE userid = @userId" , userId ); // Помещаем возвращенные данные в кеш для будущих запросов: _cache . Добавить ( userId , данные ); } вернуть данные ; }
Следующий метод показывает, как обновить данные, которые уже находятся в кеше.
void UpdateUserData ( string userId , dataType data ) { // Обновляем информацию о пользователе в базе данных: result = UpdateUserDataInDatabase ( userId , data ); if ( result ) { // В случае успешного обновления обновляем кеш: _cache . Поместите ( userId , data ); } }
Следующий вызов удаляет элемент из кеша.
_cache . Удалить ( userId );
История
Изначально у AppFabric Caching было несколько бета-версий под кодовым названием Velocity . [11] В июне 2010 года Microsoft официально выпустила AppFabric Caching как часть AppFabric . [12] Для получения более подробной информации см. Раздел истории на странице AppFabric .
Связанные технологии кеширования
Кэширование AppFabric связано с другими технологиями кэширования Microsoft. Эти технологии имеют схожие функции, такие как имя сборки, пространство имен и типы. [13] Однако есть некоторые отличия. В таблице ниже описаны эти технологии.
Технология кэширования | Цель | Установлено | Описание |
---|---|---|---|
Кэширование AppFabric | На территории | AppFabric | Распределенный локальный кеш, который использует серверы, которые пользователь подготавливает и управляет. |
Кэширование Windows Azure | Облако | Пакет SDK для Windows Azure | Кэширование распределяется между экземплярами одной роли в развертывании облачной службы Windows Azure. |
Общее кэширование Windows Azure | Облако | Пакет SDK для Windows Azure | Кэширование предоставляется в виде многопользовательской службы для использования облачными службами Windows Azure. |
Рекомендации
- ^ «Возможности кэширования AppFabric 1.1» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Схема физической архитектуры кэширования AppFabric» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Установка и настройка AppFabric» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Настроить AppFabric» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Параметры хранилища конфигурации кластера» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Использование Windows PowerShell для управления функциями кэширования AppFabric 1.1» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Схема логической архитектуры кэширования AppFabric» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Класс DataCache» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Конфигурация клиента на основе XML» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Программная настройка клиента» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Создавайте более совершенные приложения, управляемые данными с помощью распределенного кэширования» . Журнал MSDN . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Microsoft предоставляет релиз-кандидат Windows Server AppFabric, бета-версию BizTalk Server 2010» . Центр новостей Microsoft . Microsoft . Проверено 13 февраля 2013 года .
- ^ «Различия между кешированием в локальной среде и в облаке» . Библиотека MSDN . Microsoft . Проверено 13 февраля 2013 года .
Внешние ссылки
- Возможности кэширования AppFabric 1.1
- Справочник по библиотеке классов AppFabric
- Скачать: Microsoft AppFabric 1.1 для Windows Server
- Скачать: накопительный пакет обновления 3 для Microsoft AppFabric 1.1 для Windows Server