エクスポート (0) 印刷
すべて展開

ローカル キャッシュ (Azure Cache 用の In-Role Cache)

更新日: 2014年9月

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

ローカル キャッシュは、リモートのキャッシュへのネットワーク要求を減らすことによってパフォーマンスを向上させる Microsoft Azure Cacheの機能です。Microsoft Azure Cacheは、複数のサーバーに分散したインメモリ キャッシュにオブジェクトをシリアル化された形式で格納します。アプリケーションがキャッシュのオブジェクトを要求すると、そのオブジェクトを格納しているサーバーが特定され、そのサーバーから要求元のアプリケーションにシリアル化されたオブジェクトがネットワーク経由で送信されます。アプリケーションは、オブジェクトをシリアル化解除して使用します。オブジェクト取得の処理を速くするには、ローカル キャッシュを有効にします。

ローカル キャッシュを有効にすると、キャッシュ クライアントはオブジェクトの参照をローカルに保存します。このローカル参照は、クライアント アプリケーションのメモリでオブジェクトをアクティブに維持します。アプリケーションがオブジェクトを要求すると、キャッシュ クライアントはオブジェクトがローカル キャッシュに存在するかどうかを確認します。存在する場合、そのオブジェクトへの参照はサーバーへの問い合わせなしですぐに返されます。存在しない場合、オブジェクトはサーバーから取得されます。その後、キャッシュ クライアントはオブジェクトをシリアル化解除し、この新しく取得されたオブジェクトへの参照をローカル キャッシュに格納します。クライアント アプリケーションはこの同じオブジェクトを使用します。

ローカル キャッシュ内のオブジェクトの有効期間は、ローカル キャッシュに格納できるオブジェクトの最大数と無効化ポリシーによって決まります。ローカル キャッシュには 2 種類の無効化があります。タイムアウト ベースの無効化と通知ベースの無効化です。詳細については、「有効期限と削除 (Azure Cache 用の In-Role Cache)」を参照してください。

ローカル キャッシュは、web.config ファイルまたは application configuration ファイルを使用して有効化および構成できます。localCache 要素を dataCacheClient セクションに追加できます。次の表では、localCache 要素の属性の一覧を示します。

 

属性 説明

isEnabled

ローカル キャッシュを有効または無効にするには、true または false に設定します。

sync

ローカル キャッシュを無効にする方法を決定します。指定できる値は TimeoutBased および NotificationBased です。

objectCount

ローカル キャッシュに格納されるオブジェクトの最大数です。既定値は 10000 です。

ttlValue

オブジェクトがローカル キャッシュに存在している秒数です。既定値は 300 秒です。

TimeoutBased の値 sync は、ttlValue の限界に達するまで、オブジェクトをローカルにキャッシュしたままにします。値 NotificationBased は、タイムアウト ベースのメカニズムに加えて通知を使用します。無効化の通知を使用するには、キャッシュの通知を有効にします。通知のポーリング間隔で、ローカル キャッシュのアイテムが変更されたかどうかを調べます。通知の有効なポーリング間隔は、有効な ttlValue 設定より短くなければなりません。追加要素 clientNotification を使用し、pollInterval 属性に秒数を設定することによって、通知のポーリング間隔を構成できます。既定値は 300 秒です。

noteメモ
通知は、 ロールでホストされるキャッシュでのみサポートされる インロール キャッシュ の機能です。Microsoft Azure Shared Caching では通知はサポートされません。

次の例では、タイムアウト ベースのローカル有効期限が 5 分 (300 秒) に設定されたローカル キャッシュを使用する dataCacheClient セクションを示します。

    <dataCacheClient name="default">
      <!-- Other configuration settings for cache -->
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
    </dataCacheClient>

次に示す例では、前の dataCacheClient セクションが、通知を使用して 1 分 (60 秒) 間隔のポーリングにより追加の同期を行うように変更されています。通知はロールベースの インロール キャッシュ でのみサポートされます。

    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="WebRole1" />
      <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
      <clientNotification pollInterval="60" />
    </dataCacheClient>

ローカル キャッシュを使用するサンプルをダウンロードするには、「キャッシュ API とパフォーマンスのサンプル」を参照してください。

関連項目

表示:
© 2014 Microsoft