Class TierConfiguration

java.lang.Object
io.leandev.appfuse.cache.config.TierConfiguration

public class TierConfiguration extends Object

儲存層配置

定義快取的多層儲存架構(heap/offheap/disk)。

heap 層可二擇一計量:

  • heapEntries:以物件數量計(驅逐判斷零開銷,但無法封住實際記憶體)
  • heapSizeMB:以 MB 計(Ehcache sizeof 引擎封住記憶體;記憶體管制下 heap tier 須用此)

兩者互斥;同時設定會在 CacheConfiguration.validate() 報錯。

Since:
1.0
  • Constructor Details

    • TierConfiguration

      public TierConfiguration()
  • Method Details

    • defaultConfig

      public static TierConfiguration defaultConfig()
      預設配置(offheap 20MB,非持久化)
      Returns:
      儲存層配置
    • defaultPersistentConfig

      public static TierConfiguration defaultPersistentConfig()
      預設持久化配置(disk 50MB,持久化)
      Returns:
      儲存層配置
    • hasAnyTier

      public boolean hasAnyTier()
      檢查是否有配置任何儲存層
      Returns:
      true 若至少配置一層
    • hasEntriesHeap

      public boolean hasEntriesHeap()
      是否配置筆數計 heap 層
      Returns:
      true 若以物件數量計 heap
    • hasByteHeap

      public boolean hasByteHeap()
      是否配置 byte 計 heap 層
      Returns:
      true 若以 MB 計 heap
    • hasHeap

      public boolean hasHeap()
      是否配置 heap 層(不論計量方式)
      Returns:
      true 若有 heap 層
    • validate

      public void validate()
      驗證 heap 計量設定是否合法(兩種計量互斥)
      Throws:
      IllegalArgumentException - 若同時設定 heapEntries 與 heapSizeMB