Package nablarch.core.cache.expirable
Class InMemoryExpirableCache<K,V>
java.lang.Object
nablarch.core.cache.expirable.ExpirableCacheTemplate<K,V>
nablarch.core.cache.expirable.InMemoryExpirableCache<K,V>
- Type Parameters:
K
- キャッシュキーの型V
- キャッシュ値の型
- All Implemented Interfaces:
ExpirableCache<K,
V>
- Direct Known Subclasses:
InMemoryResultSetCache
キャッシュをメモリ上に保持する
ExpirableCache
実装クラス。-
Field Summary
Fields inherited from class nablarch.core.cache.expirable.ExpirableCacheTemplate
UNLIMITED
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addToCache
(K key, Expirable<V> expirable) キャッシュに値を設定する。protected void
キャッシュの全エントリを削除する。createCacheContainer
(int max) キャッシュの実体となるMapを生成する。 本クラスではLRUMap
が使用される。 本メソッドをオーバライドすることで使用するMap実装を変更することができる。
本クラスをスレッドセーフにするには、このメソッドが返却するMapインスタンスを スレッドセーフとしなければならない。getFromCache
(K key) キャッシュから値を取得する。removeFromCache
(K key) 指定したキーに対応するエントリを削除する。void
setCacheSize
(int max) キャッシュ上限値を設定する。 ここで設定された件数を超過してキャッシュに値が設定された場合、 最も参照されていないエントリが削除される。Methods inherited from class nablarch.core.cache.expirable.ExpirableCacheTemplate
add, addUnlimited, clear, getIfNotExpired, getNowDate, remove, setCacheListener, setSystemTimeProvider
-
Constructor Details
-
InMemoryExpirableCache
public InMemoryExpirableCache()
-
-
Method Details
-
setCacheSize
public void setCacheSize(int max) キャッシュ上限値を設定する。 ここで設定された件数を超過してキャッシュに値が設定された場合、 最も参照されていないエントリが削除される。- Parameters:
max
- 上限値
-
createCacheContainer
キャッシュの実体となるMapを生成する。 本クラスではLRUMap
が使用される。 本メソッドをオーバライドすることで使用するMap実装を変更することができる。
本クラスをスレッドセーフにするには、このメソッドが返却するMapインスタンスを スレッドセーフとしなければならない。- Parameters:
max
- 最大上限件数- Returns:
- キャッシュの実体となるMap
-
getFromCache
キャッシュから値を取得する。- Specified by:
getFromCache
in classExpirableCacheTemplate<K,
V> - Parameters:
key
- キー- Returns:
- キーに対応する値を格納した
Expirable
-
removeFromCache
指定したキーに対応するエントリを削除する。- Specified by:
removeFromCache
in classExpirableCacheTemplate<K,
V> - Parameters:
key
- キー- Returns:
- キーに対応する値を格納した
Expirable
-
addToCache
キャッシュに値を設定する。- Specified by:
addToCache
in classExpirableCacheTemplate<K,
V> - Parameters:
key
- キーexpirable
- 値を格納したExpirable
-
clearCache
protected void clearCache()キャッシュの全エントリを削除する。- Specified by:
clearCache
in classExpirableCacheTemplate<K,
V>
-