アプリケーション構成設定 (AppFabric 1.1 キャッシュ)
Microsoft AppFabric 1.1 for Windows Server のキャッシュ機能では、アプリケーションのキャッシュ クライアント設定をプログラムやアプリケーション構成ファイルを使用して構成できます。アプリケーションの場所に応じて両方の方法を使い分けることもできます。これらの構成方法とそれぞれの選択方法の詳細については、「キャッシュ クライアントの構成」を参照してください。
どちらの方法を使用する場合でも、構成する対象は同じキャッシュ クライアント設定です。このトピックの表に、キャッシュ クライアントで利用できる設定、およびそれぞれを XML ベースのアプリケーション構成ファイルで構成する方法と、コードを使用してプログラムから構成する方法を示します。
アプリケーションでこれらの設定を使用する方法の詳細については、「XML ベースのクライアント構成」の例を参照してください。
キャッシュ クライアント設定
各キャッシュ クライアントで構成設定が定義されています。構成ファイルを使用する場合、これらの設定は 1 つ以上の dataCachClient
セクションに含まれています。このセクションは、dataCacheClients
セクションに埋め込むことができます。次に例を示します。
<dataCacheClients>
<dataCacheClient name="default">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
<dataCacheClient name="compressedCache" isCommpressionEnabled="true">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
</dataCacheClients>
前の例では、構成ファイルで default
および compressedCache
の 2 つのキャッシュ クライアントが定義されています。既定のキャッシュにアクセスする場合は、キャッシュ クライアントの名前を指定する必要はありません。次に例を示します。
DataCacheFactory factory = new DataCacheFactory();
他の名前付き dataCacheClient
セクションを指定するには、DataCacheFactoryConfiguration コンストラクターを使用して、キャッシュ クライアント セクション名を指定する必要があります。
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration("compressedCache");
DataCacheFactory factory = new DataCacheFactory(factoryConfig)
アプリケーション構成ファイルを使用しない場合は、DataCacheFactoryConfiguration クラスのプロパティを指定して、プログラムによってすべての設定を定義できます。
設定 | XML による構成箇所 | コードによる構成箇所 |
---|---|---|
圧縮 (ブール型) |
|
DataCacheFactoryConfiguration クラスの IsCompressionEnabled プロパティ。 |
クライアント タイムアウト (ミリ秒) |
|
DataCacheFactoryConfiguration クラスの RequestTimeout プロパティ。 |
チャネル オープン タイムアウト (ミリ秒) |
|
DataCacheFactoryConfiguration クラスの ChannelOpenTimeout プロパティ。 |
サーバーとの接続の最大数。 |
|
DataCacheFactoryConfiguration クラスの MaxConnectionsToServer プロパティ。 |
キャッシュ ホスト設定
クラスター内のキャッシュ ホストは、キャッシュ クライアントごとに 1 台以上指定する必要があります。リード ホストに指定されているキャッシュ ホストはクラスターの管理に役立つため、リード ホストを指定してください。リード ホストはクラスターにインストールされる最初のキャッシュ ホストです。リード ホストの詳細については、「AppFabric キャッシュの物理アーキテクチャ図 (AppFabric 1.1 キャッシュ)」を参照してください。
アプリケーション構成ファイルでは、各キャッシュ ホストの設定は host 要素で指定します。これは、hosts
要素の子です。プログラムからは、各ホストを DataCacheServerEndpoint クラスのクラス コンストラクターで定義します。それらがインスタンス化された後、DataCacheServerEndPoint オブジェクトは DataCacheServerEndpoint クラスの Servers プロパティに渡されます。
設定 | XML による構成箇所 | コードによる構成箇所 |
---|---|---|
キャッシュ サーバー名 |
|
DataCacheServerEndpoint クラスの HostName プロパティ。 |
キャッシュ ポート番号 |
|
DataCacheServerEndpoint クラスの CachePort プロパティ。 |
ローカル キャッシュ設定
ローカル キャッシュ設定では、ローカル キャッシュを有効にするかどうか、ローカルにキャッシュされたオブジェクトを無効にする方法、オブジェクト タイムアウト、およびローカルにキャッシュされたオブジェクトを無効にするためにキャッシュ通知を使用するかどうかを指定します。
アプリケーション構成ファイルでは、ローカル キャッシュ設定は localCache
要素で定義します。これは、dataCacheClient
要素の子です。プログラムからローカル キャッシュを構成するには、DataCacheFactoryConfiguration クラスのインスタンスを使用し、このインスタンスを DataCacheFactory クラス コンストラクターのコンストラクターに渡します。ローカル キャッシュの詳細については、「キャッシュ クライアントとローカル キャッシュ (AppFabric 1.1 キャッシュ)」を参照してください。
設定 | XML による構成箇所 | コードによる構成箇所 |
---|---|---|
ローカル キャッシュを有効にするかどうか |
|
DataCacheLocalCacheProperties クラスの IsEnabled プロパティ。これはその後、DataCacheFactoryConfiguration クラスの LocalCacheProperties プロパティに割り当てられます。 |
ローカル キャッシュを無効にする方法 |
|
DataCacheLocalCacheProperties クラスの InvalidationPolicy プロパティ。指定できる値には NotificationBased および TimeoutBased があります。 |
ローカル キャッシュ タイムアウト (秒) |
|
DataCacheLocalCacheProperties クラスの DefaultTimeout プロパティ。 |
特定のキャッシュ通知のポーリング間隔 (秒) |
(省略可能) |
DataCacheNotificationProperties クラスの PollInterval プロパティ。これはその後、DataCacheFactoryConfiguration クラスの NotificationProperties プロパティに割り当てられます。 |
ローカル キャッシュ オブジェクトの最大数 |
(省略可能) |
DataCacheLocalCacheProperties クラスの ObjectCount プロパティ。 |
ヒント
パフォーマンスを最大にするため、変更頻度の低いオブジェクトに対してのみローカル キャッシュを有効にしてください。変更頻度の高いデータをローカルにキャッシュすると、クライアントがオブジェクトを使用する時点でそのオブジェクトは古くなっている可能性が高くなります。ttlValue
を下げてローカル キャッシュの更新頻度を高くしても、クラスターへの負荷が、ローカル キャッシュを持つ利点を上回ることもあります。変更頻度の高いデータについては、ローカル キャッシュを無効にしてクラスターから直接データを取り出すのが最適です。
通知の設定
アプリケーション構成ファイルでは、通知プロパティは clientNotification
要素で定義します。これは、dataCacheClient
要素の子です。プログラムから通知プロパティを構成するには、DataCacheFactoryConfiguration クラスのインスタンスを使用し、このインスタンスを DataCacheFactory クラス コンストラクターのコンストラクターに渡します。詳細については、「構成メソッド」を参照してください。
設定 | XML による構成箇所 | コードによる構成箇所 |
---|---|---|
特定のキャッシュ通知のポーリング間隔 (秒) |
|
DataCacheNotificationProperties クラスの PollInterval プロパティ。これはその後、DataCacheFactoryConfiguration クラスの NotificationProperties プロパティに割り当てられます。 |
最大キュー長 |
|
DataCacheNotificationProperties クラスの MaxQueueLength プロパティ。 |
セキュリティの設定
アプリケーション構成ファイルでは、セキュリティ プロパティは securityProperties
要素で定義します。これは、dataCacheClient
要素の子です。プログラムからセキュリティ プロパティを構成するには、DataCacheFactoryConfiguration クラスのインスタンスを使用し、このインスタンスを DataCacheFactory クラス コンストラクターのコンストラクターに渡します。詳細については、「構成メソッド」を参照してください。
設定 | XML による構成箇所 | コードによる構成箇所 |
---|---|---|
モード |
|
DataCacheSecurity クラスの SecurityMode プロパティ。指定できる値には None および Transport があります。DataCacheSecurity オブジェクトはその後、DataCacheFactoryConfiguration クラスの SecurityProperties プロパティに割り当てられます。 |
保護レベル |
|
DataCacheSecurity クラスの ProtectionLevel プロパティ。指定できる値には None、Sign、および EncryptAndSign があります。 |
トランスポートの設定
アプリケーション構成ファイルでは、トランスポート プロパティは transportProperties
要素で定義します。これは、dataCacheClient
要素の子です。プログラムからトランスポート プロパティを構成するには、DataCacheFactoryConfiguration クラスのインスタンスを使用し、このインスタンスを DataCacheFactory クラス コンストラクターのコンストラクターに渡します。詳細については、「構成メソッド」を参照してください。
設定 | XML による構成箇所 | コードによる構成箇所 |
---|---|---|
接続バッファー サイズ (バイト) |
|
DataCacheTransportProperties クラスの ConnectionBufferSize プロパティ。これはその後、DataCacheFactoryConfiguration クラスの TransportProperties プロパティに割り当てられます。 |
最大バッファー プール サイズ (バイト) |
|
DataCacheTransportProperties クラスの MaxBufferPoolSize プロパティ。 |
最大バッファー サイズ (バイト) |
|
DataCacheTransportProperties クラスの MaxBufferSize プロパティ。 |
最大出力遅延 (ミリ秒) |
|
DataCacheTransportProperties クラスの MaxOutputDelay プロパティ。 |
チャネル初期化タイムアウト (ミリ秒) |
|
DataCacheTransportProperties クラスの ChannelInitializationTimeout プロパティ。 |
受信タイムアウト (ミリ秒) |
|
DataCacheTransportProperties クラスの ReceiveTimeout プロパティ。 |
アプリケーション構成ファイル例
AppFabric アセンブリでアプリケーション構成ファイルの XML 要素を読み取るには、ファイルの最初の要素として、configuration
タグの下に configSections
要素を含める必要があります。configSections
要素の中には、dataCacheClient
要素に関連付けられた 1 つの section
要素を含める必要があります。
次の例は、このトピックで説明したキャッシュ クライアント構成オプションを多数使用したアプリケーション構成ファイルを示しています。重要な点として、クラスターに接続するために dataCacheClient
に必要な要素は hosts
だけであることに注意してください。その他すべての子要素には既定値があります。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--configSections must be the FIRST element -->
<configSections>
<!-- required to read the <dataCacheClient> element -->
<section name="dataCacheClient"
type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
allowLocation="true"
allowDefinition="Everywhere"/>
</configSections>
<dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
<localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
<clientNotification pollInterval="300" maxQueueLength="10000"/>
<hosts>
<host name="CacheServer1" cachePort="22233"/>
<host name="CacheServer2" cachePort="22233"/>
</hosts>
<securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
<transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456"
maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000"
receiveTimeout="600000"/>
</dataCacheClient>
</configuration>
関連項目
概念
キャッシュ クライアントの構成
クラスター構成の設定
AppFabric キャッシュのトラブルシューティング
Windows PowerShell を使用した AppFabric 1.1 キャッシュ機能の管理
AppFabric キャッシュの概念 (AppFabric 1.1 キャッシュ)
キャッシュ クライアントを開発する
2012-03-05