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


Параметры конфигурации клиента кэша для управляемой службы кэша Azure

Важно!

Корпорация Майкрософт рекомендует все новые разработки использовать кэш Redis для Azure. Текущая документация и рекомендации по выбору предложения кэша Azure см. в статье о том, какое предложение кэша Azure подходит для меня?

В этом разделе описываются требования для поддержки управляемая служба кэша в файле конфигурации платформа .NET Framework web.config или app.config. Она также описывает доступные параметры конфигурации для клиентов кэша.

Совет

При использовании пакета NuGet для управляемая служба кэша пакет автоматически изменяет файл конфигурации. Однако вы можете использовать данную тему для дальнейшей настройки параметров клиента кэша, которые вводит NuGet. Дополнительные сведения о пакете кэширования NuGet см. в разделе "Настройка клиента кэша" с помощью пакета кэширования NuGet.

Следующие разделы содержатся в данной теме.

  • <configSections>

    • <dataCacheClients>

      • <dataCacheClient>

        • <Автообнаружения>

        • <localCache>

        • <clientNotification>

        • <serializationProperties>

        • <securityProperties>

      • <cacheDiagnostics>

        • <crashDump>

Пример настройки клиента кэша

В следующем примере показаны разделы файла web.config или app.config, относящиеся к управляемая служба кэша. В данном примере клиент кэша default получает доступ к кэшу, размещенному на mycache.cache.windows.net, и локальный кэш включен.

<configuration>
  <configSections>
    <section name="dataCacheClients"
             type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, 
                   Microsoft.ApplicationServer.Caching.Core" 
             allowLocation="true" 
             allowDefinition="Everywhere" />
    
    <section name="cacheDiagnostics" 
             type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, 
                   Microsoft.ApplicationServer.Caching.AzureCommon" 
             allowLocation="true" 
             allowDefinition="Everywhere" />
  </configSections>
  <dataCacheClients>
    <dataCacheClient name="default">
      <!--To use the in-role flavor of Azure Caching, 
          set identifier to be the cache cluster role name -->
      <!--To use the Azure Caching Service, 
          set identifier to be the endpoint of the cache cluster -->
      <autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
      <!--Use this section to specify security settings for connecting to your cache. 
          This section is not required if your cache is hosted on a role that is a part 
          of your cloud service. -->
      <securityProperties mode="Message" sslEnabled="false">
        <messageSecurity authorizationInfo="MyAuthorizationKey" />
      </securityProperties>
    </dataCacheClient>
  </dataCacheClients>
    <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

configSections

Следующие два именованных элемента раздела должны быть добавлены в список разделов в элементе configSections .

Имя Описание

dataCacheClients

Определяет элемент dataCacheClients файла конфигурации. Данный раздел определяет параметры для всех конфигураций клиента кэша.

cacheDiagnostics

Определяет элемент cacheDiagnostics файла конфигурации. В этом разделе настраивается диагностика, относясь к управляемая служба кэша.

Следующий пример показывает, как определить эти разделы.

<section name="dataCacheClients"
          type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, 
                Microsoft.ApplicationServer.Caching.Core" 
          allowLocation="true" 
          allowDefinition="Everywhere" />
    
<section name="cacheDiagnostics" 
          type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, 
                Microsoft.ApplicationServer.Caching.AzureCommon" 
          allowLocation="true" 
          allowDefinition="Everywhere" />

dataCacheClients

Каждый элемент dataCacheClients содержит один или несколько именованных элементов dataCacheClient . Элемент dataCacheClients не имеет атрибутов. Возможность иметь несколько разделов настройки клиента кэша позволяет приложениям использовать разные параметры с разными данными в кэше.

dataCacheClient

Каждый элемент dataCacheClients содержит один или несколько именованных элементов dataCacheClient . Код приложения загружает параметры для клиента кэша, ссылаясь на имя связанного раздела dataCacheClient .

Элемент dataCacheClients не имеет атрибутов. Но дочерние элементы dataCacheClient имеют несколько доступных атрибутов. Эти атрибуты описаны в следующей таблице.

attribute Описание

имя;

Имя конфигурации клиента кэша.

isCompressionEnabled

Включает или выключает сжатие. Возможные значения: true или false. Значением по умолчанию является false (выключено).

useConnectionPool

Включает или выключает пул подключений. Возможное значение включает true или false. Значение по умолчанию — true (включено).

maxConnectionsToServer

Если задано значение trueuseConnectionPool, этот атрибут указывает количество подключений в пуле подключений для этой конфигурации клиента кэша. Если задано значение falseuseConnectionPool, этот атрибут указывает количество подключений, используемых для каждого объекта DataCacheFactory в коде.

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

autoDiscover

Элемент автообнаружения помогает клиентам кэша автоматически подключаться к целевому кэшу.

В следующей таблице описаны доступные атрибуты для элемента автообнаружения .

attribute Описание

isEnabled

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

identifier

Для управляемая служба кэша это имя конечной точки кэша.

Для кэша In-Role это имя роли в том же развертывании облачной службы, где размещается кэш In-Role.

<autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />

localCache

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

В следующей таблице описаны доступные атрибуты для элемента localCache .

attribute Описание

isEnabled

Задайте значение true или false, чтобы включить или выключить локальный кэш.

Синхронизации

Определяет политику недействительности локального кэша. Возможные значения: TimeoutBased и NotificationBased.

objectCount

Максимальное количество объектов в локальном кэше. Значение по умолчанию — 10000.

ttlValue

Время хранения объектов в локальном кэше в секундах. Значение по умолчанию — 300 секунд.

Примечание

Уведомления поддерживаются в предложениях кэша уровня Standard и Premium, а именованные кэши в рамках этих предложений должны быть настроены на включение уведомлений. Дополнительные сведения см. в разделе "Уведомления" для Управляемая служба кэша Azure.

<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />

clientNotification

В следующей таблице описаны доступные атрибуты для элемента clientNotification . Данный элемент отвечает за управление поведением уведомления клиента кэша.

attribute Описание

pollInterval

Число секунд между попытками опроса. Опрос используется для проверки уведомлений в кэше. Значением по умолчанию является 300 с.

maxQueueLength

Максимальное число уведомлений, стоящих в очереди к данному клиенту кэша между попытками опроса. Значением по умолчанию является 10000.

<clientNotification pollInterval="60" maxQueueLength="10000"/>

serializationProperties

В следующей таблице описаны доступные атрибуты для элемента serializationProperties . Данный элемент поддерживает выбор встроенной или пользовательской сериализации для элементов в кэше. Дополнительные сведения см. в статье о сериализации для Управляемая служба кэша Azure.

attribute Описание

serializer

Определяет тип сериализации элементов в кэше. Возможные значения: NetDataContractSerializer, BinaryFormatterи CustomSerializer. Значение по умолчанию — NetDataContractSerializer.

securityProperties

В следующей таблице описаны доступные атрибуты элемента securityProperties .

attribute Описание

mode

Возможными значениями являются None, Transport и Message. Поддерживается только Message в управляемая служба кэша. Другие два параметра связаны с Microsoft AppFabric 1.1 для Windows Server.

sslEnabled

Возможные значения: true и false. Данный параметр используется для определения того, шифруется ли обмен данными между кэшем и клиентами кэша. Значение по умолчанию — false. Дополнительные сведения см. в разделе "Защита обмена данными между клиентами кэша и кэшем".

Элемент securityProperties имеет дочерний элемент messageSecurity. В следующей таблице описаны доступные атрибуты элемента messageSecurity .

attribute Описание

authorizationInfo

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

<securityProperties mode="Message" sslEnabled="false">
  <messageSecurity authorizationInfo="iz8zOmJ0dJBzzzzxa8JxdGJkb281bzxudGF0az9udGxzdGluZi111z8oZS5Ji28lP38jb250Pm9sLmludDMud2luZG93Pi1pb8Qubmx0L1dSQxB2MP45LiZxd25lPii0eDJJZQA5SlZQQUQ2xzIizk8iazlES1P08X8zOFIxZjdzZxp0i3lFQ2FFPSZodJRzOi8xS8JxdGJEb281bzxudGF0az9uxGxzdGluZi5jiz8oZS5pb8QzL8dpbmRxd3MQaz50Lm5ldA==" />
</securityProperties>

cacheDiagnostics

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

Предупреждение

В выпуске управляемая служба кэша кэшDiagnostics и связанные разделы, описанные в этом разделе, применяются только для клиентов кэша облачных служб на основе ролей. Если ваш клиент кэша не является облачной службой, тогда данные разделы не добавляются пакетом кэша NuGet. Дополнительные сведения см. в статье о ClientDiagnosticLevel для Azure управляемая служба кэша.

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

crashDump

Элемент crashDump управляет типом аварийных дампов, собранных для этого приложения. управляемая служба кэша аварийных дампов в основном предназначены для диагностики проблем с компьютерами кэша. По этой причине файлы конфигурации клиента должны выключить создание аварийных дампов. Это можно сделать, задав для атрибута dumpLevel значение Off.

Когда аварийные дампы включены, локальное хранилище и хранилище диагностики кэша должны быть отрегулированы в ServiceDefinition.csdef таким образом, чтобы их размер был всегда больше, чем сумма квоты аварийного хранилища и квоты хранилища журнала, настраиваемых в CacheSettings.xml (значением по умолчанию является 1000 МБ).

В следующей таблице описаны доступные атрибуты для элемента crashDump .

attribute Описание

dumpLevel

Возможными значениями являются Off, Mini и Full.

dumpStorageQuotaInMB

Верхний предел размера аварийного дампа.

scheduledTransferPeriodInMinutes

Число минут между передачами аварийных дампов в хранилище диагностики.

<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" scheduledTransferPeriodInMinutes="5" />