以下は の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
)、次に同じ場所にあるキャッシュの読み取り時に強制的に更新されます。
ロールキャッシュ設定には、次の構成があります。
- これは、ローカル キャッシュとは関係ありません。
- 「通知」が有効になっているということは、同じ場所にあるキャッシュがタイムアウトしないことを意味します。
ありがとう