0

クラスター化された無効化キー値キャッシュは、ネットワーク経由で削除コマンドのみを送信しています。1 つのノードでキーの値が変更または削除されると、そのキーとともに remove コマンドが他のすべてのノードに送信されるため、次に必要になったときに永続ストアからそのデータを取得 (または再計算) する必要があります。

私の質問は: javax.cache.Cache インターフェースに基づいてどのように定義されていますか? put、putIfAbsent、replace、... 関数があります。

Infinispan-jcache を使用すると、同じキーが 2 つの異なるノードに存在する場合に動作できませんでした。https://community.jboss.org/thread/228039のユーザー フォーラムで同じ質問をしましたが、これはすべての JSR-107 実装が影響を受けるより一般的な質問だと思います。

ドラフト仕様を確認しましたが、クラスタリングと無効化については何も見つかりませんでした。

4

2 に答える 2

1

Infinispan の動作は正しいです。無効化とは、ノードが put/replace/putIfAbsent/remove 呼び出しを受信すると、他のノードにメッセージを送信してエントリを削除することを意味します。そのため、エントリがキャッシュ 2 に格納されると、キャッシュ 1 から削除されます。値が同じかどうかは検証しません。

JSR-107 では、クラスタ内でキャッシュがどのように動作するかを指定していません。JSR-107 は、ローカル キャッシュのみに焦点を当てています。JCache API の下であっても、無効化、分散、複製されたキャッシュに対する Infinispan キャッシュの動作は、Infinispan に固有のものです。

于 2013-10-25T08:33:16.533 に答える