2017-02-21 4 views
1

ヘイルキャストを初めて使用し、共有キャッシュに使用しています。ヘイルキャストでキャッシュの近くでのみリフレッシュする方法

共有キャッシュを使用している2つのノードがあります。

ここで、1つのノードで共有キャッシュをリフレッシュする1つのAPIを公開していますが、各ノードでニア・キャッシュをリフレッシュする必要があります。

共有キャッシュを更新する場合は、キャッシュを取得してクリアして再投入します。

しかし、ニアキャッシュだけをリフレッシュする方法がわかりません。

基本的に、APIがヒットしているノードから共有キャッシュをリフレッシュしたいので、ニア・キャッシュもそのノードでリフレッシュします。そして、他のノードの近くのキャッシュをリフレッシュする必要があります。

完全な共有キャッシュをリフレッシュせずにキャッシュの近くでしかリフレッシュできない場合は教えてください。

ご協力いただきありがとうございます。

+0

よくわかりませんが、Hazelcastのドキュメント(http://docs.hazelcast.org/docs/3.7/manual/html-single/index.html#creating-near-cache-for-マップ)を使用すると、近くにあるキャッシュをx秒ごとに自動的にクリアする<存続可能秒数> xプロパティを設定できます。 –

+0

ハゼルキャストによって提供されたAPIはありません。私は1つを見つけることができません。 –

+0

はい、プログラムでも同じことができます...使用 - NearCacheConfig nearCacheConfig = new NearCacheConfig()。setTimeToLiveSeconds(60 * 60 * 1000); –

答えて

2

キャッシュの近くで手動で管理する必要はありません。ニアキャッシュ設定で<invalidate-on-change>をtrueに設定してください。エントリが元のキャッシュで更新または削除されたときに、キャッシュされたエントリを削除する必要があるかどうかを指定します。デフォルト値はtrueです。

0

NearCacheは、そのキーが無効になったりタイムアウトしたりするまで、最初の取得要求後にそのキーの値を保持します。キー値を更新する場合は、クラスタと同期します。
分散キャッシュの目的と矛盾するNearCacheエントリだけを更新することはできません。キーがでヒットされているときはいつでも

<!-- 
Should the cached entries get evicted if the entries are changed (updated or removed). 
true of false. Default is true. 
--> 
<invalidate-on-change>true</invalidate-on-change> 

限り、上記のプロパティは、(あなたが設定に追加していない場合、デフォルトである)が真であるとして、他のノード上のNearCacheエントリが更新されたデータを取得しますその後の呼び出し。

関連する問題