セールス: 1-800-867-1380

Azure In-Role Cache のリージョンとタグ

更新日: 2015年5月

noteメモ
アプリケーションに対して適切な Azure Cache サービスを選択するためのガイダンスについては、「どの Azure Cache を利用すればよいですか。」を参照してください。

インロール キャッシュ は、ユーザーが定義したリージョンの作成と使用がサポートされます。この機能はロールベースの インロール キャッシュ にあるキャッシュで利用できます。リージョンはキャッシュされた項目のサブグループです。またリージョンでは、タグと呼ばれる追加の説明的な文字列を使用した、キャッシュされた項目への注釈付けがサポートされています。リージョンでは、そのリージョン内のすべてのタグ付けされた項目に対して検索操作を実行できます。

リージョンは省略可能です。使用する場合は、CreateRegion メソッドを使用して、コードで明示的に作成する必要があります。リージョンを作成したら、リージョンに挿入されたオブジェクトにタグを追加できます。リージョン名を使用できる Add および Put メソッドに対するオーバーロードがあります。特定のタグが指定されたオブジェクトをリージョンで検索するには、GetObjectsByTagGetObjectsByAnyTag、および GetObjectsByAllTags の各メソッドを使用します。

検索機能の構造要件に起因し、あるリージョンのオブジェクトは単一のキャッシュ サーバーに制限されます。Azure デプロイでは、これは、リージョン全体が単一サーバーにデプロイされていることを意味します。高可用性が有効になっている場合、リージョンのバックアップは別のサーバーにあります。Azure では、これらのサーバーは、インロール キャッシュ をホストするロールの仮想マシン インスタンスです。この動作は、リージョンを使用しない場合とは異なります。そのシナリオでは、分散インメモリ キャッシュの新しい項目が利用可能ないずれかのキャッシュ サーバーに置かれます。

Warning警告
リージョンは、いずれかのキャッシュ サーバー上にある単一エンティティとして存在する必要があります。そのため、任意の単一ロール インスタンスで使用できる キャッシュ メモリの量は、予想される最大のリージョンよりも大きくする必要があります。複数の小さいリージョンを使用すると、リージョンとタグ付けの利点だけでなく分散キャッシュの利点も活用できます。

次の例では、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();
}

関連項目

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2015 Microsoft