インタフェース CacheStore

既知の実装クラスのリスト:
FineGrainedLockIndexedConcurrentHashMapCacheStore, MapBaseCacheStore, NullCacheStore, RdbCacheStoreFactory.RdbCacheStore, SimpleCacheStoreBase, SimpleCacheStoreFactory.ConcurrentHashMapCacheStore, SimpleCacheStoreFactory.IndexedConcurrentHashMapCacheStore, SyncServerCacheStoreFactory.SyncServerCacheStore, TransactionLocalCacheStoreFactory.TransactionLocalCacheStore

public interface CacheStore
ローレベルのキャッシュ機能を実装するキャッシュストアのインタフェース。
  • メソッドの詳細

    • getNamespace

      String getNamespace()
    • getFactory

      CacheStoreFactory getFactory()
    • getSize

      int getSize()
    • computeIfAbsentWithAutoReload

      default CacheEntry computeIfAbsentWithAutoReload(Object key, BiFunction<Object,CacheEntry,CacheEntry> reloadFunction)
      自動リロードするキャッシュエントリをputする。 まだkeyに紐づいたエントリがない場合にreloadFunctionによって取得されたエントリをputする。 既にkeyに紐づいたエントリがある場合はそのエントリを返却する。 reloadFunctionが返却するキャッシュエントリのtimeToLiveの時間経過後reloadFunctionを利用してCacheEntryを再取得する。 リロードは非同期で実行され、リロード完了するまでの間は古いCacheEntryを返す。 デフォルト実装では、JVMローカルでのみリロードされる。 リロード対象のキャッシュエントリが他の更新系メソッド(put, remove, replace)により更新された場合、リロードはキャンセルされる。
      パラメータ:
      key - キャッシュエントリのキー
      reloadFunction - キャッシュエントリが存在しない場合、リロード時に呼び出される関数。初回のロード時はapplyの引数CacheEntryはnullが渡される。また、リロード時はreloadFunctionは非同期にユーザ未特定で特権状態で実行される。
      戻り値:
      初回ロード、もしくはリロードされたキャッシュエントリ
    • computeIfAbsent

      default CacheEntry computeIfAbsent(Object key, Function<Object,CacheEntry> mappingFunction)
      ConcurrentMapが提供するcomputeIfAbsentと同等の機能性を提供するメソッド。 デフォルト実装ではmappingFunctionが複数回呼び出される可能性はある。 厳密にmappingFunctionが1度しか呼び出されないか否かは各CacheStore実装クラスによる。
      パラメータ:
      key -
      mappingFunction -
      戻り値:
    • compute

      default CacheEntry compute(Object key, BiFunction<Object,CacheEntry,CacheEntry> remappingFunction)
      ConcurrentMapが提供するcomputeと同等の機能性を提供するメソッド。 デフォルト実装ではremappingFunctionが複数回呼び出される可能性はある。 厳密にremappingFunctionが1度しか呼び出されないか否かは各CacheStore実装クラスによる。
      パラメータ:
      key -
      remappingFunction -
      戻り値:
    • put

      CacheEntry put(CacheEntry entry, boolean clean)
      パラメータ:
      entry -
      clean - putするentryが更新されたものでない場合(他のNodeで読み込まれていても問題ない場合)ture
    • putIfAbsent

      CacheEntry putIfAbsent(CacheEntry entry)
    • get

      CacheEntry get(Object key)
    • remove

      CacheEntry remove(Object key)
    • remove

      boolean remove(CacheEntry entry)
    • replace

      CacheEntry replace(CacheEntry entry)
    • replace

      boolean replace(CacheEntry oldEntry, CacheEntry newEntry)
    • removeAll

      void removeAll()
    • keySet

      List<Object> keySet()
    • getByIndex

      CacheEntry getByIndex(int indexKey, Object indexValue)
    • getListByIndex

      List<CacheEntry> getListByIndex(int indexKey, Object indexValue)
    • removeByIndex

      List<CacheEntry> removeByIndex(int indexKey, Object indexValue)
    • addCacheEventListenner

      void addCacheEventListenner(CacheEventListener listener)
    • removeCacheEventListenner

      void removeCacheEventListenner(CacheEventListener listener)
    • getListeners

      List<CacheEventListener> getListeners()
    • trace

      String trace()
    • destroy

      void destroy()