Share via


Azure Managed Cache Service のキャッシュ クライアントの構成設定

重要

Microsoft では、すべての新しい開発で Azure Redis Cache を使用することをお勧めします。 Azure Cache オファリングの選択に関する最新のドキュメントとガイダンスについては、自分に適した Azure Cache オファリングを参照してください。

このトピックでは、.NET Framework web.configまたはapp.config構成ファイルでManaged Cache Serviceをサポートするための要件について説明します。 キャッシュ クライアントに対して使用可能な設定オプションについても説明しています。

ヒント

Managed Cache ServiceにNuGet パッケージを使用すると、パッケージによって構成ファイルが自動的に変更されます。 ただし、このトピックを使用して、挿入するキャッシュ クライアント設定をさらにカスタマイズNuGet。 キャッシュ NuGet パッケージの詳細については、「キャッシュ NuGet パッケージを使用したキャッシュ クライアントの構成」を参照してください。

以降のセクションでは、このトピックについて説明します。

  • <configSections>

    • <dataCacheClients>

      • <dataCacheClient>

        • <自動 検出>

        • <localCache>

        • <clientNotification>

        • <serializationProperties>

        • <securityProperties>

      • <cacheDiagnostics>

        • <crashDump>

キャッシュクライアントの設定例

次の例は、Managed Cache Serviceに関連する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 要素のセクションの一覧には、次の 2 つの名前付きセクション要素を追加する必要があります。

名前 [説明]

dataCacheClients

構成ファイルの dataCacheClients 要素を定義します。 このセクションでは、すべてのキャッシュ クライアント構成に対する設定を指定します。

cacheDiagnostics

構成ファイルの cacheDiagnostics 要素を定義します。 このセクションでは、Managed Cache Serviceに固有の診断を構成します。

次の例は、これらのセクションの定義方法を示しています。

<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 要素には、1 つ以上の名前付き dataCacheClient 要素が 含まれています。 dataCacheClients 要素には属性がありません。 複数のキャッシュ クライアント構成セクションを設定することができるため、アプリケーションで異なる種類のキャッシュ データごとに、異なる設定を使用することができます。

dataCacheClient

dataCacheClients 要素には、1 つ以上の名前付き dataCacheClient 要素が 含まれています。 アプリケーション コードは、関連付けられている dataCacheClient セクションの名前を参照して、キャッシュ クライアントの設定を読み込みます。

dataCacheClients 要素には属性がありません。 ただし、子 dataCacheClient 要素には、いくつかの使用可能な属性があります。 これらの属性を、次の表に示します。

属性 説明

名前

キャッシュクライアント構成の名前。

isCompressionEnabled

圧縮を有効または無効にします。 指定できる値は true または false です。 既定値は false (無効) です。

useConnectionPool

接続プールを有効または無効にします。 指定できる値は true または false です。 既定値 true (有効) です

maxConnectionsToServer

useConnectionPooltrue設定されている場合、この属性は、このキャッシュ クライアント構成の接続プール内の接続数を指定します。 useConnectionPoolfalse設定されている場合、この属性は、コード内の各 DataCacheFactory オブジェクトに使用する接続の数を指定します。

次のセクションでは、各 dataCacheClient 要素内で使用できる子要素について説明します。

autoDiscover

autoDiscover 要素は、ターゲット キャッシュに自動的に接続するキャッシュ クライアントを支援します。

次の表では、 自動検出 要素で使用できる属性について説明します。

属性 [説明]

isEnabled

Managed Cache Serviceをtrueホストするロールへのローカル自動接続を有効または無効に設定しますfalse

identifier

Managed Cache Serviceの場合は、キャッシュ エンドポイントの名前です。

In-Role キャッシュの場合、In-Role Cache をホストするのと同じクラウド サービス デプロイ内のロールの名前です。

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

localCache

localCache 要素は、ローカル キャッシュの使用を制御します。 既定では、ローカル キャッシュは有効ではありません。 有効な場合、キャッシュから取得したアイテムは、クライアント コンピューターのメモリにローカルに保存されます。 この場合、以降の get 要求のパフォーマンスは改善されますが、ローカルにキャッシュされているバージョンと実際のキャッシュ内のアイテムの間で、データに不整合が発生する可能性があります。 詳細については、「Azure Managed Cache Service のローカル キャッシュ」を参照してください。

次の表では、 localCache 要素で使用できる属性について説明します。

属性 [説明]

isEnabled

ローカル キャッシュを有効または無効にするには、true または false に設定します。

sync

ローカル キャッシュを無効にする方法を決定します。 設定可能な値は TimeoutBased および NotificationBased です。

objectCount

ローカル キャッシュに格納されるオブジェクトの最大数です。 既定値は 10000 です。

ttlValue

オブジェクトがローカル キャッシュに存在している秒数です。 既定では 300 秒です。

注意

通知は Standard および プレミアム キャッシュ オファリングでサポートされており、それらのオファリング内の名前付きキャッシュは通知を有効にするように構成する必要があります。 詳細については、「Azure Managed Cache Serviceの通知」を参照してください。

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

clientNotification

次の表では、 clientNotification 要素で使用できる属性について説明します。 この要素は、キャッシュ クライアントの通知動作を制御します。

属性 [説明]

pollInterval

ポーリングの試行間隔 (秒)。 ポーリングは、キャッシュの通知を確認するために使用されます。 既定値は 300 秒です。

maxQueueLength

ポーリングの試行間で対象のキャッシュ クライアントに対してキューに格納される通知の最大数。 既定値は 10000 通知です。

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

serializationProperties

次の表では、 serializationProperties 要素で使用できる属性について説明します。 この要素では、キャッシュされた項目に対して内蔵またはカスタムのシリアル化を選択できます。 詳細については、「Azure Managed Cache Service のシリアル化」を参照してください。

属性 [説明]

serializer

キャッシュされた項目のシリアル化の種類を決定します。 指定できる値は、NetDataContractSerializerBinaryFormatterCustomSerializer です。 既定では、 NetDataContractSerializerです。

securityProperties

次の表では、 securityProperties 要素で使用できる属性について説明します。

属性 説明

mode

使用できる値は、NoneTransport、および Message です。 Managed Cache ServiceでのみMessageサポートされます。 他の 2 つの設定は、Microsoft AppFabric 1.1 for Windows Serverに関連しています。

sslEnabled

設定可能な値は true および false です。 この設定は、キャッシュとキャッシュ クライアント間の通信を暗号化するかどうかを指定するために使用されます。 既定値は false です。 詳細については、「 キャッシュ クライアントとキャッシュ間の通信のセキュリティ保護」を参照してください。

securityProperties 要素には、子要素 messageSecurity があります。 次の表では、 messageSecurity 要素で使用できる属性について説明します。

属性 [説明]

authorizationInfo

キャッシュのアクセス キー。 のキャッシュ ダッシュボードから取得できます。 正しく構成されていない場合、キャッシュ クライアントはキャッシュとの通信を確立できなくなります。

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

cacheDiagnostics

このセクションでは、Managed Cache Serviceの診断設定の一部を構成します。

警告

Managed Cache Service リリースでは、このトピックで説明する cacheDiagnostics および関連セクションは、ロールベースのクラウド サービス キャッシュ クライアントにのみ適用されます。 キャッシュ クライアントがクラウド サービスでない場合、これらのセクションは Cache NuGet パッケージによって追加されません。 詳細については、「Azure Managed Cache Service の ClientDiagnosticLevel について」を参照してください。

次のセクションでは、各 cacheDiagnostics 要素内で使用できる子要素について説明します。

crashDump

crashDump 要素は、このアプリケーション用に収集されたクラッシュ ダンプの種類を制御します。 Managed Cache Serviceクラッシュ ダンプは、主にキャッシュ マシンに関する問題を診断するように設計されています。 このため、クライアント構成ファイルにより、クラッシュ ダンプの生成がオフになります。 これを行うには、 dumpLevel 属性を > に設定します Off

クラッシュ ダンプが有効な場合、サイズが必ずクラッシュ ストレージ クォータと CacheSettings.xml で設定されているログ ストレージ クォータ (既定値は 1000 MB) の合計よりも大きくなるように、キャッシング ローカル ストアと診断ストアを調整する必要があります。

次の表では、 crashDump 要素で使用できる属性について説明します。

属性 [説明]

dumpLevel

使用できる値は、OffMini、および Full です。

dumpStorageQuotaInMB

クラッシュ ダンプ サイズの上限。

scheduledTransferPeriodInMinutes

クラッシュ ダンプから診断ストアへの転送間隔 (分)。

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