[Java プログラミング言語のみ][バージョン 8.6.1.1 以降]

eXtreme Scale 内の Cache API

Cache API は、JCache API に記載されているように動作します。 仕様にはニア・キャッシュの操作方法についてのルールが明記されていないため、このトピックでは、各キャッシュ・メソッドがニア・キャッシュに与える影響について説明します。 OPTIMISTIC または NONE のロック・ストラテジーを使用するすべてのキャッシュは、ニア・キャッシュを持つように構成できます。

この表で、X はキーを表しています。 A は、キーに関連付けられているニア・キャッシュ値です。 B は、キーに関連付けられているファー・キャッシュ値です。 C は、キャッシュに入れられる新規値です。 各行は、キャッシュ・メソッドになります。 各列は、ニア・キャッシュ内とファー・キャッシュ内のエントリーの値を示しています。 特定のキャッシュ・メソッドについて、ニア値とファー値を含む列を見つけて、戻り値と振る舞いを確認してください。 例えば、 getAndPut(X,C) メソッドの場合、 near=null および far=Bであれば、このメソッドは以下を返します。Bnear および far を以下のように設定します。C.

表 1. のニア・キャッシュとファー・キャッシュに関するキャッシュ・メソッドの動作。 X および場合によっては AB、または C パラメーター値を持つキャッシュ・メソッドの場合、この表には戻り値と動作が示されています。
キャッシュ・メソッド near=A および far=B の場合 near=null および far=B の場合 near=A および far=null の場合
getAndPut(X,C) 復帰A. near=far=C 復帰B. near=far=C 復帰A. near=far=C
getAndRemove(X) 復帰A. near=far=null 復帰B. near=far=null 復帰A. near=far=null
getAndReplace(X,C) 復帰A. near=far=C 復帰B. near=far=C 復帰null. near=far=null
putIfAbsent(X,C) 復帰false何もしない 復帰false何もしない 復帰true. near=far=C
remove(X) 復帰true. near=far=null 復帰true. near=far=null 復帰false. near=far=null
remove(X,A) 復帰false何もしない 復帰false何もしない 復帰false. near=far=null
remove(X,B) 復帰true. near=far=null 復帰true. near=far=null 復帰false. near=far=null
replace(X,C) 復帰true. near=far=C 復帰true. near=far=C 復帰false. near=far=null
replace(X,C,A) 復帰false何もしない 復帰false何もしない 復帰false. near=far=null
replace(X,C,B) 復帰true. near=far=C 復帰true. near=far=C 復帰false. near=far=null