Class DuraCache<K,V>

java.lang.Object
io.leandev.appfuse.ehcache.DuraCache<K,V>
Type Parameters:
K - 鍵的型別
V - 值的型別

public class DuraCache<K,V> extends Object

持久快取(Ehcache 實作)

結合快取層與持久層的雙層快取架構。 寫入時同時寫入兩層,讀取時優先從快取層讀取,可選擇降級至持久層。

  • Constructor Details

    • DuraCache

      protected DuraCache(org.ehcache.Cache<K,V> cache, org.ehcache.Cache<K,V> store)
      建立持久快取
      Parameters:
      cache - 快取層
      store - 持久層
  • Method Details

    • put

      public void put(K key, V value)
      儲存鍵值對
      Parameters:
      key - 鍵
      value - 值
    • get

      public V get(K key)
      取得值(啟用降級)
      Parameters:
      key - 鍵
      Returns:
      值,若不存在則返回 null
    • get

      public V get(K key, boolean fallback)
      取得值
      Parameters:
      key - 鍵
      fallback - 是否降級至持久層
      Returns:
      值,若不存在則返回 null
    • containsKey

      public boolean containsKey(K key)
      檢查是否包含鍵(啟用降級)
      Parameters:
      key - 鍵
      Returns:
      true 若包含該鍵
    • containsKey

      public boolean containsKey(K key, boolean fallback)
      檢查是否包含鍵
      Parameters:
      key - 鍵
      fallback - 是否降級至持久層
      Returns:
      true 若包含該鍵
    • spliterator

      public Spliterator<org.ehcache.Cache.Entry<K,V>> spliterator()
      取得持久層的分割迭代器
      Returns:
      分割迭代器