Class DualCacheBuilder<K,V>

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

public class DualCacheBuilder<K,V> extends Object

雙層快取建構器

提供 Fluent API 建構雙層快取(快速層 + 持久層)。

使用範例:

DualLayerCache<String, Session> sessionCache = DualCacheBuilder
    .newCache(cacheManager, "sessions", String.class, Session.class)
    .fastHeap(100)
    .fastOffheap(10)
    .fastTimeToLiveByMinutes(30)
    .store(200)
    .build();
Since:
1.0
  • Method Details

    • newCache

      public static <K,V> DualCacheBuilder<K,V> newCache(CacheManager cacheManager, String name, Class<K> keyType, Class<V> valueType)
      建立新的雙層快取建構器
      Type Parameters:
      K - 鍵的型別
      V - 值的型別
      Parameters:
      cacheManager - 快取管理器
      name - 快取名稱
      keyType - 鍵的型別
      valueType - 值的型別
      Returns:
      建構器實例
    • fastHeap

      public DualCacheBuilder<K,V> fastHeap(long entries)
      設定快速層 Heap 大小
      Parameters:
      entries - 物件數量
      Returns:
      建構器實例
    • fastOffheap

      public DualCacheBuilder<K,V> fastOffheap(long sizeMB)
      設定快速層 Offheap 大小
      Parameters:
      sizeMB - 大小(MB)
      Returns:
      建構器實例
    • fastTtl

      public DualCacheBuilder<K,V> fastTtl(Duration duration)
      設定快速層 TTL
      Parameters:
      duration - 存活時間
      Returns:
      建構器實例
    • fastTtl

      public DualCacheBuilder<K,V> fastTtl(long minutes)
      設定快速層 TTL(以分鐘為單位)
      Parameters:
      minutes - 存活時間(分鐘)
      Returns:
      建構器實例
    • store

      public DualCacheBuilder<K,V> store(long sizeMB)
      設定持久層大小(使用 Offheap)
      Parameters:
      sizeMB - 大小(MB)
      Returns:
      建構器實例
    • persistentStore

      public DualCacheBuilder<K,V> persistentStore(long sizeMB)
      設定持久層大小(使用持久化 Disk)
      Parameters:
      sizeMB - 大小(MB)
      Returns:
      建構器實例
    • managed

      public DualCacheBuilder<K,V> managed(boolean managed)
      設定是否啟用管理功能
      Parameters:
      managed - true 表示啟用
      Returns:
      建構器實例
    • build

      public DualLayerCache<K,V> build()
      建構雙層快取
      Returns:
      雙層快取實例