キャッシュの管理 (Windows Server AppFabric キャッシュ)

Windows Server AppFabric キャッシュ クラスターが稼動したら、次に注目するのはキャッシュ クラスターでの個別のキャッシュの管理です。 ここでは、Windows PowerShell コマンドを使用して一般的なキャッシュ管理機能を実行する方法の例を示します。 すべてのキャッシュ管理コマンドの一覧については、「Windows PowerShell を使用した Windows Server AppFabric キャッシュ機能の管理」を参照してください。

新しいキャッシュを作成する

次の例では、New-Cache コマンドを使用して、Cache1 という名前の新しいキャッシュを作成しています。 すべてのキャッシュ構成設定に既定値が使用されています。

New-Cache Cache1

次の例では、Cache2 という名前の新しいキャッシュを作成しています。 この例では Secondaries パラメーターを 1 に設定しているので、このキャッシュの高可用性が有効になります。 このように設定するには、すべてのキャッシュ ホストが Windows Server の Enterprise Edition または Datacenter Edition を実行している必要があります。 また、この例では、NotificationsEnabled パラメーターを "true" に設定することで、通知を有効にしています。 これらの AppFabric キャッシュ機能の詳細については、「Windows Server AppFabric のキャッシュの概念」を参照してください。

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

通常、キャッシュ名は大文字と小文字が区別されます。 この原則の例外は、キャッシュ構成ストアに SQL Server を使用していて、そのデータベースで大文字と小文字を区別しない照合順序が使用されている場合です。

名前付きキャッシュは 128 個まで作成できます。 128 個より多くのキャッシュが必要な場合は、クライアント アプリケーションで領域を使用できます。 クライアント アプリケーションで領域を作成するには、DataCache クラスの CreateRegion メソッドを使用します。 1 つのキャッシュに複数の領域を作成でき、その場合でも異なる領域にある同じ名前のキャッシュ キーは一意になります。 これはアプリケーションの設計に影響を与えます。 したがって、キャッシュのこの制限について開発チームに伝えることが重要です。

キャッシュと領域を一覧表示する

Get-Cache コマンドは、キャッシュ クラスター上のすべてのキャッシュとその領域を一覧表示します。

Get-Cache

アクティブなキャッシュ クラスターでは、既定の領域が AppFabric によって作成されます。 キャッシュが拡大すると、これらの既定領域の数が増えます。 アプリケーションでも独自の領域を作成できます。 キャッシュ名だけを表示する必要があり、領域の情報は必要ない場合は、MaxRegions パラメーターを 0 に設定します。 次の例はこの方法を示したものです。

Get-Cache -MaxRegions 0

特定のキャッシュ ホストについてのキャッシュ情報を表示することもできます。 1 つのキャッシュを複数のホストに分散できますが、そのキャッシュの領域はホストによって異なる場合があります。 次のコマンドでは、CacheServer1 という名前のキャッシュ ホストのキャッシュ ポート 22233 に関するすべてのキャッシュ情報が表示されます。 この例では、MaxRegionsPerCache10 に制限されています。

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

"最も長く使われていない" 削除の種類 (LRU) または None を指定します。

NotificationsEnabled

そのキャッシュで通知が有効かどうかを示します。

これらのキャッシュ機能の詳細については、「有効期限と削除」、「高可用性」、および「キャッシュ通知」を参照してください。

キャッシュの構成設定を変更する

いつでも、既存のキャッシュの構成設定を変更できます。 2 つの方法があります。

  • 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