Поделиться через


Управление кэшами (кэширование Windows Server AppFabric)

После запуска кластера кэша Windows Server AppFabric основное внимание уделяется управлением отдельных кэшей кластера. В этом разделе приведены примеры использования команд Windows PowerShell для выполнения стандартных действий по управлению кэшем. Полный список команд для управления кэшем см. в разделе Использование Windows PowerShell с кэшированием AppFabric.

Создание нового кэша

В следующем примере команда New-Cache используется для создания нового кэша с именем Cache1 . Для всех параметров конфигурации кэша используются значения по умолчанию.

New-Cache Cache1

В следующем примере будет создан новый кэш с именем Cache2. В этом примере параметр Secondaries устанавливается равным 1, что позволяет включить высокий уровень доступности для этого кэша. Обратите внимание на то, что для этого все узлы кэша должны работать под управлением выпусков Enterprise или Datacenter системы Windows Server. Кроме того, в этом примере параметр NotificationsEnabled установлен равным "true", что позволяет включить уведомления. Дополнительные сведения об этих функциях кэширования AppFabric см. в документе Основные понятия кэширования.

New-Cache Cache2 -Secondaries 1 -NotificationsEnabled "true"

Обратите внимание на то, что имена кэша обычно чувствительны к регистру. Исключением из этого правила является случай использования хранилищем конфигурации кэша сервера SQL Server с базой данных, в которой применяются параметры сортировки, нечувствительные к регистру.

Существует ограничение – не более 128 именованных кэшей. Если требуется больше 128 кэшей, то в клиентских приложениях следует использовать области. Клиентское приложение может создать область с помощью метода CreateRegion класса DataCache. В одном кэше может присутствовать несколько областей, а ключи кэша с одинаковыми именами в различных областях являются уникальными. Это влияет на структуру приложения. Таким образом, важно сообщить об этом ограничении кэша разработчикам.

Вывод списка кэшей и областей

Команда Get-Cache выводит список всех кэшей в кластере и их области.

Get-Cache

Области по умолчанию в активном кластере кэша создаются с помощью AppFabric. По мере увеличения кэша увеличивается и число областей по умолчанию. В приложениях также можно создавать собственные области. Чтобы просматривать только имена кэшей без сведений об областях, установите параметр MaxRegions равным 0. Этот способ показан в следующем примере кода.

Get-Cache -MaxRegions 0

Также можно просмотреть сведения кэша для определенного узла. Несмотря на то, что один кэш можно распространить на несколько узлов, области кэша при этом могут различаться. Следующая команда позволяет отобразить все сведения кэша для узла кэша с именем CacheServer1 и портом 22233. В этом примере параметр MaxRegionsPerCache ограничен значением 10.

Get-Cache -HostName CacheServer1 -CachePort 22233 -MaxRegionsPerCache 10

Несмотря на то, что сведения об областях отображаются с помощью команды Get-Cache, это также можно сделать с помощью команды Get-CacheRegion. Следующая команда позволяет отобразить 10 областей в каждом из узлов кластера.

Get-CacheRegion -MaxRegionsPerHost 10

Удаление кэша

Команда Remove-Cache удаляет узел кэша из кластера.

Remove-Cache Cache1

Просмотр параметров конфигурации кэша

Чтобы просмотреть текущие параметры кэша, используйте команду Get-CacheConfig.

Get-CacheConfig Cache1

В предыдущем примере команда Get-CacheConfig отображает параметры конфигурации кэша для Cache1. Ниже приведен результат выполнения этой команды.

CacheName            : Cache1
TimeToLive           : 10 mins
CacheType            : Partitioned
Secondaries          : 0
IsExpirable          : True
EvictionType         : LRU
NotificationsEnabled : False

Указанные параметры подробно описаны в следующей таблице.

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

CacheName

Имя кэша.

TimeToLive

Время по умолчанию до истечения срока действия элементов.

CacheType

Тип кэша. Всегда имеет значение Partitioned.

Secondaries

Значение 1 указывает на использование высокого уровня доступности.

IsExpirable

Указывает на возможность истечения срока действия объектов кэша.

EvictionType

Указывает тип вытеснения Least-Recently-Used (LRU) или None.

NotificationsEnabled

Указывает необходимость включения уведомлений для этого кэша.

Дополнительные сведения об этих функциях кэша см. в разделе Срок действия и вытеснение, Высокий уровень доступности и Уведомления кэша.

Изменение параметров конфигурации кэша

В некоторых случаях возникает необходимость изменения параметров конфигурации существующего кэша. Для этого возможно два способа:

  • Удаление кэша с помощью команды Remove-Cache и повторное создание кэша с требуемыми параметрами с помощью команды New-Cache.

  • Использование команды Set-CacheConfig.

Например, в приведенном выше примере разработчик решает использовать уведомления для кэша Cache1. Несмотря на то, что код настроен на использование уведомлений, приложение завершит работу с ошибкой, если уведомления не будут разрешены для кэша Cache1. Кэш можно удалить и создать заново с требуемыми параметрами.

Remove-Cache Cache1

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

New-Cache Cache1 -NotificationsEnabled True

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

Также можно использовать команду Set-CacheConfig. Преимущество этой команды состоит в том, что она изменяет только указанные параметры и сохраняет остальные. Для выполнения этой команды необходимо остановить кластер кэша.

Stop-CacheCluster 
Set-CacheConfig Cache1 -NotificationsEnabled True 
Start-CacheCluster

В обоих случаях все данные кэша будут удалены, а кэш некоторое время не будет доступен. Таким образом, подобные изменения лучше проводить в ходе обслуживания. По возможности приложения следует настраивать на выполнение при кратковременных отказах в работе. Следует также помнить о том, что для некоторых изменений (например, NotificationsEnabled) клиентские приложения не отражают изменения конфигурации автоматически. Чтобы реализовать эти изменения, в приложениях необходимо создать новый элемент DataCacheFactory и вызвать GetCache в кэше. Для этого проще всего перезапустить клиентские приложения.

См. также

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

Часто выполняемые действия по управлению кластером кэша (кэширование Windows Server AppFabric)

  2011-12-05