領域とタグ付け (Windows Azure キャッシュ)
Windows Azure Caching では、ユーザーが定義した領域の作成と使用がサポートされています。この機能は、ロールベースのCaching に割り当てられたキャッシュで使用できます。領域はキャッシュされた項目のサブグループです。また領域では、タグと呼ばれる追加の説明的な文字列を使用した、キャッシュされた項目への注釈付けがサポートされています。領域では、その領域内のすべてのタグ付けされた項目に対して検索操作を実行できます。
注 |
|---|
| 領域とタグ付けは Windows Azure Shared Cachingではサポートされません。 |
領域の考慮事項
領域は省略可能です。使用する場合は、CreateRegion メソッドを使用して、コードで明示的に作成する必要があります。領域を作成したら、領域に加えられたオブジェクトにタグを追加できます。領域名を使用できる Add および Put メソッドに対するオーバーロードがあります。特定のタグが指定されたオブジェクトを領域で検索するには、GetObjectsByTag、GetObjectsByAnyTag、GetObjectsByAllTags の各メソッドを使用します。
検索機能の構造上の要件により、領域内のオブジェクトは単一のキャッシュ サーバーに限定されています。これは Windows Azure の展開では、領域全体が単一のサーバーに配置されていることを意味します。高可用性を有効にすると、領域のバックアップが異なるサーバーに配置されます。Windows Azure では、これらのサーバーはCaching をホストするロールの仮想マシン インスタンスです。この動作は、領域を使用しない場合とは異なります。領域を使用しない場合、分散型インメモリ キャッシュの新しい項目は、使用可能な任意のキャッシュ サーバーに配置されます。
警告 |
|---|
| 1 つの領域は、いずれかのキャッシュ サーバー上にある単一のエンティティとして存在する必要があります。そのため、任意の単一のロール インスタンスで使用できるCaching メモリの量は、予想される最大の領域よりも大きくする必要があります。複数の小さい領域を使用すると、領域とタグ付けの利点だけでなく分散キャッシュの利点を活用できます。 |
例
次の例では、Test という名前の領域を作成する方法を示します。
DataCache cache = new DataCache("default");
cache.CreateRegion("Test");
次の例では、タグと一緒に Test 領域に 3 つのオブジェクトを追加する方法を示します。
List<DataCacheTag> tagList1 = new List<DataCacheTag>()
{
new DataCacheTag("Tag1"),
new DataCacheTag("Tag2")
};
List<DataCacheTag> tagList2 = new List<DataCacheTag>()
{
new DataCacheTag("Tag3")
};
cache.Put("Key1", "Value1", tagList1, "Test");
cache.Put("Key2", "Value2", tagList1, "Test");
cache.Put("Key3", "Value3", tagList2, "Test");
次の例では、Test 領域で Tag1 タグが設定されたすべてのオブジェクトを検索する方法を示します。
foreach (KeyValuePair<string, object> result in
cache.GetObjectsByTag(new DataCacheTag("Tag1"), "Test"))
{
string keyValue = result.Key;
string objectValue = result.Value.ToString();
}
参照
ビルド日:
注
警告