Включение сквозного чтения и записи с задержкой в кэше (кэширование в AppFabric 1.1)

Перед включением поставщика со сквозным чтением или записью с задержкой Кэш Microsoft AppFabric 1.1 для Windows Server для кэша сначала нужно выполнить следующие действия:

  1. Расширение класса DataCacheStoreProvider (кэширование в AppFabric 1.1)

  2. Развертывание поставщика сквозного чтения или записи с задержкой (кэширование в AppFabric 1.1)

После этого все готово к включению поставщика для кэша,

Включение поставщика с помощью Windows PowerShell

Поставщик можно связать с кэшем с помощью команд Windows PowerShell New-Cache и Set-CacheConfig. Эти команды поддерживают следующие параметры, настраивающие поставщики со сквозным чтением и задержкой записи.

Параметр Тип Описание

ProviderType

string

Полное имя типа сборки поставщика. Этот поставщик реализует функции записи с задержкой и сквозного чтения. Для имени учитывается регистр символов.

ProviderSettings

hashtable

Одна пара "ключ-значение" или несколько, указывающие параметры конфигурации поставщика, например данные для подключения.

ReadThroughEnabled

string

Этот параметр используется для включения функции сквозного чтения. По умолчанию данный параметр равен "false".

WriteBehindEnabled

string

Этот параметр используется для включения функции записи с задержкой. По умолчанию данный параметр равен "false".

WriteBehindInterval

integer

Количество секунд, отводимых на запись элемента кэша в поставщике после его записи в кэш.

WriteBehindRetryCount

integer

Максимальное число повторных попыток подключения к поставщику с задержкой записи. (Значение -1 отменяет ограничение на количество повторов.)

WriteBehindRetryInterval

integer

Задаваемый в секундах интервал между повторными попытками в случае сбоя подключения к поставщику с задержкой записи.

Обратите внимание, что команда Set-CacheConfig не требует отключать кластер кэша для изменения поставщика, если используется параметр refreshNow. Это не относится к другим изменениям конфигурации кэша, для которых требуется сначала остановить кластер кэша.

Параметр ProviderType использует полное имя класса, реализующего поставщик. Один из способов найти полное доменное имя сборки – использовать программу gacutil.exe для поиска зарегистрированной сборки в глобальном кэше сборок. Это показано в следующем примере.

gacutil.exe /l RTProvider

Данная команда возвращает полное доменное имя сборки в глобальном кэше сборок, например:

RTProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=80e2cb5f6ba933f0, processorArchitecture=MSIL

К нему достаточно присоединить квалифицированное имя класса. Например, если имя класса – Provider, то параметр ProviderType в этом примере будет содержать следующую строку.

RTProvider.Provider, RTProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=80e2cb5f6ba933f0

Обратите внимание, что параметр ProviderSettings содержит пары "ключ-значение", специфичные для поставщика. Этот параметр необходим только тогда, когда поставщику нужны эти параметры.

Пример

В следующем примере создается новый кэш с именем Cache1, для которого включается поставщик со сквозным чтением и задержкой записи RTProvider.

New-Cache Cache1 -ReadThroughEnabled true -WriteBehindEnabled true -WriteBehindInterval 60 -ProviderType "RTProvider.Provider, RTProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=80e2cb5f6ba933f0" -ProviderSettings @{"setting1"="value1";"setting2"="value2"}

Обратите внимание, что параметр ProviderSettings передает две пары "ключ-значение" в форме, которая в среде Windows Powershell используется для хэш-таблиц.

Прочие соображения

  • Если при включении поставщика возникает ошибка, возможно, что поставщик не был зарегистрирован надлежащим образом. Убедитесь, что поставщик зарегистрирован на всех узлах кэша, и что вы правильно указали полное имя.

  • Если вы обновляете библиотеку DLL поставщика в глобальном кэше сборок на всех узлах кэша, то кластер кэша не будет использовать новую версию, пока служба кэша не будет перезапущена с помощью команд Windows PowerShell Restart-CacheCluster или Start-CacheHost.

  • Объекты DataCacheItem хранятся в кластере кэша в сериализованной форме. Если поставщику требуется десериализовать данные в DataCacheItem, то сборки, связанные с сериализованными объектами, также должны находиться в кэше сборок на узлах кэша.

См. также

Основные понятия

Расширение класса DataCacheStoreProvider (кэширование в AppFabric 1.1)
Развертывание поставщика сквозного чтения или записи с задержкой (кэширование в AppFabric 1.1)

  2012-03-05