public class EhCacheCache extends ObjectSE implements Cache
EhCacheCacheManagerCache.ValueRetrievalException, Cache.ValueWrapper| コンストラクターと説明 |
|---|
EhCacheCache(Ehcache ehcache)EhCacheCache インスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | clear() すべてのマッピングを削除してキャッシュをクリアします。 |
void | evict(ObjectSE key) このキーが存在する場合、このキャッシュからこのキーのマッピングを削除します。 |
boolean | evictIfPresent(ObjectSE key) このキーが存在する場合は、このキーのマッピングを削除し、以降の検索ではキーがすぐに見えないことを期待します。 |
Cache.ValueWrapper | get(ObjectSE key) このキャッシュが指定されたキーをマップする値を返します。 |
<T> T | get(ObjectSE key, CallableSE<T> valueLoader) このキャッシュが指定されたキーをマップする値を返し、必要に応じて valueLoader からその値を取得します。 |
<T> T | get(ObjectSE key, ClassSE<T> type) このキャッシュが指定されたキーをマップする値を返します。一般的に、戻り値がキャストされる型を指定します。 |
StringSE | getName() キャッシュ名を返します。 |
Ehcache | getNativeCache() 基になるネイティブキャッシュプロバイダーを返します。 |
boolean | invalidate() すべてのマッピングを削除してキャッシュを無効にし、以降のルックアップではすべてのエントリがすぐに表示されないようにします。 |
void | put(ObjectSE key, ObjectSE value) 指定された値をこのキャッシュ内の指定されたキーに関連付けます。 |
Cache.ValueWrapper | putIfAbsent(ObjectSE key, ObjectSE value) 指定された値が設定されていない場合、指定された値をこのキャッシュ内の指定されたキーと原子的に関連付けます。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic EhCacheCache(Ehcache ehcache)
EhCacheCache インスタンスを作成します。ehcache - バッキング Ehcache インスタンス public final Ehcache getNativeCache()
CacheCache の getNativeCache @Nullable public Cache.ValueWrapper get(ObjectSE key)
Cache キャッシュにこのキーのマッピングが含まれていない場合は、null を返します。そうでない場合、キャッシュされた値(null 自体である可能性があります)が Cache.ValueWrapper で返されます。
Cache の get key - 関連する値が返されるキー Cache.ValueWrapper 内に含まれ、キャッシュされた null 値も保持する場合があります。返されるストレート null は、キャッシュにこのキーのマッピングが含まれていないことを意味します。Cache.get(Object, Class), Cache.get(Object, Callable)@Nullable public <T> T get(ObjectSE key, @Nullable ClassSE<T> type)
Cache メモ: この get のバリアントでは、キャッシュされた null 値とキャッシュエントリがまったく見つからないことを区別できません。代わりに、その目的のために標準の Cache.get(Object) バリアントを使用してください。
Cache の get key - 関連する値が返されるキー type - 戻り値の必要な型 (型チェックをバイパスする null の場合があります。キャッシュで null 値が見つかった場合、指定された型は無関係です)null 自体である場合があります)をマップする値、またはキャッシュにこのキーのマッピングが含まれていない場合は null Cache.get(Object)@Nullable public <T> T get(ObjectSE key, CallableSE<T> valueLoader)
CachevalueLoader からその値を取得します。このメソッドは、従来の「キャッシュされている場合は返す、そうでない場合は作成、キャッシュして返す」パターンの単純な代替を提供します。 可能な場合、実装は、同じキーへの同時アクセスの場合に指定された valueLoader が 1 回だけ呼び出されるように、ロード操作が同期されることを確認する必要があります。
valueLoader が例外をスローした場合、Cache.ValueRetrievalException にラップされます
Cache の get key - 関連する値が返されるキー Cache.get(Object)public void put(ObjectSE key, @Nullable ObjectSE value)
Cacheキャッシュに以前にこのキーのマッピングが含まれていた場合、古い値は指定された値に置き換えられます。
実際の登録は非同期方式または遅延方式で実行できますが、その後の検索ではエントリがまだ表示されていない可能性があります。これは、たとえばトランザクションキャッシュデコレータの場合です。Cache.putIfAbsent(java.lang.Object, java.lang.Object) を使用して、即時登録を保証します。
Cache の put key - 指定された値が関連付けられるキー value - 指定されたキーに関連付けられる値 Cache.putIfAbsent(Object, Object)@Nullable public Cache.ValueWrapper putIfAbsent(ObjectSE key, @Nullable ObjectSE value)
Cacheこれは次と同等です:
ValueWrapper existingValue = cache.get(key);
if (existingValue == null) {
cache.put(key, value);
}
return existingValue;
ただし、アクションはアトミックに実行されます。すべての初期状態の CacheManager 実装は、put をアトミックに実行することができるが、オペレーションは、たとえば、非アトミックな方法で、存在のチェックと後続の put との 2 つのステップで実装することもできます。詳細については、使用しているネイティブキャッシュ実装のドキュメントを参照してください。 デフォルトの実装は、上記のコードスニペットの行に沿って Cache.get(Object) および Cache.put(Object, Object) に委譲します。
Cache の putIfAbsent key - 指定された値が関連付けられるキー value - 指定されたキーに関連付けられる値 null 自体の場合もある)をマップする値、またはこの呼び出しの前にキャッシュにそのキーのマッピングが含まれていなかった場合は null したがって、null を返すことは、指定された value がキーに関連付けられていることを示すインジケーターです。Cache.put(Object, Object)public void evict(ObjectSE key)
Cache 実際のエビクションは非同期方式または遅延方式で実行できますが、その後のルックアップではおそらくエントリが引き続き表示されます。これは、たとえばトランザクションキャッシュデコレータの場合です。Cache.evictIfPresent(java.lang.Object) を使用して、即時の削除を保証します。
Cache の evict key - マッピングがキャッシュから削除されるキー Cache.evictIfPresent(Object)public boolean evictIfPresent(ObjectSE key)
Cache デフォルトの実装は Cache.evict(Object) に委譲し、未決定のキーの存在について false を返します。キャッシュプロバイダー、特にキャッシュデコレーターは、可能な場合は直ちにエビクションを実行し(たとえば、トランザクション内で一般的にキャッシュ操作を遅延させる場合)、指定されたキーの事前の存在を確実に判断することをお勧めします。
Cache の evictIfPresent key - マッピングがキャッシュから削除されるキー true、ない場合は false (または事前の存在を判断できなかった場合)Cache.evict(Object)public void clear()
Cache 実際の消去は、非同期または遅延方式で実行され、その後のルックアップでエントリが引き続き表示される可能性があります。これは、たとえばトランザクションキャッシュデコレータの場合です。Cache.invalidate() を使用して、エントリの即時削除を保証します。
Cache の clear Cache.invalidate()public boolean invalidate()
CacheCache の invalidate true、マッピングがない場合は false (または、エントリの事前の存在を判別できなかった場合)Cache.clear()