0

以下は のdataCacheClientエントリですweb.config

<dataCacheClients>
  <dataCacheClient isCompressionEnabled="true" name="default">
    <autoDiscover isEnabled="true" identifier="MyRoleName" />
    <localCache isEnabled="true" sync="NotificationBased" objectCount="100" ttlValue="3000" />
    <clientNotification pollInterval="300" />
    <transportProperties maxBufferSize="1073741824" maxBufferPoolSize="1073741824" />
  </dataCacheClient>
</dataCacheClients>

上記の構成では、MyRoleNameロールでコロケート キャッシュが使用されます。コロケーション キャッシングに加えて、 も使用したいと述べましたlocalCache。私はまだこれについて少し混乱しています。

誰かが以下の私の仮定を検証してください:

  • キャッシュされたアイテムは、コロケート キャッシュに加えて、各ロールのローカル RAM (localCache) に保存され、キャッシュの読み取りパフォーマンスが向上します。
  • このローカル キャッシュは「NotificationBased」です。つまり、300 秒ごとに変更をチェックするために、コロケート キャッシュでポーリング チェックを実行します ( pollInterval)。違いがある場合、ローカル キャッシュは次のコロケーション読み取りまで無効になります。
  • さらに、ローカル キャッシュは 3000 秒後に無効になり ( ttlValue)、次に同じ場所にあるキャッシュの読み取り時に強制的に更新されます。

ロールキャッシュ設定には、次の構成があります。

ロール キャッシュの設定

  • これは、ローカル キャッシュとは関係ありません。
  • 「通知」が有効になっているということは、同じ場所にあるキャッシュがタイムアウトしないことを意味します。

ありがとう

4

2 に答える 2

1

ローカル キャッシュは、クライアント専用のものと考えてください。これにより、明確な視点が得られます。頻繁に/最近使用するオブジェクトのローカル コピーをクライアントで維持しています。クライアントは、オンプレミス、Azure、別の展開など、どこにでもある可能性があります。通知間隔で言及したx時間間隔ごとに、サーバーまたはメインキャッシュをポーリングし、ローカルキャッシュ内のオブジェクトに通知があるかどうかを確認します。はい、ttl値はローカルキャッシュを更新する時間です

于 2014-07-09T20:56:28.973 に答える