キャッシュの管理
Microsoft AppFabric 1.1 for Windows Server キャッシュ クラスターが稼働したら、次に注目するのはキャッシュ クラスターでの個別のキャッシュの管理です。ここでは、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
に関するすべてのキャッシュ情報が表示されます。この例では、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 |
キャッシュの種類。常に |
Secondaries |
値 |
IsExpirable |
キャッシュ内のオブジェクトが期限切れになることができるかどうかを示します。 |
EvictionType |
"最も長く使われていない" 削除の種類 ( |
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 キャッシュ)
2012-03-05