Class TierConfiguration
java.lang.Object
io.leandev.appfuse.cache.config.TierConfiguration
儲存層配置
定義快取的多層儲存架構(heap/offheap/disk)。
heap 層可二擇一計量:
heapEntries:以物件數量計(驅逐判斷零開銷,但無法封住實際記憶體)heapSizeMB:以 MB 計(Ehcache sizeof 引擎封住記憶體;記憶體管制下 heap tier 須用此)
兩者互斥;同時設定會在 CacheConfiguration.validate() 報錯。
- Since:
- 1.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic TierConfiguration預設配置(offheap 20MB,非持久化)static TierConfiguration預設持久化配置(disk 50MB,持久化)boolean檢查是否有配置任何儲存層boolean是否配置 byte 計 heap 層boolean是否配置筆數計 heap 層booleanhasHeap()是否配置 heap 層(不論計量方式)voidvalidate()驗證 heap 計量設定是否合法(兩種計量互斥)
-
Constructor Details
-
TierConfiguration
public TierConfiguration()
-
-
Method Details
-
defaultConfig
-
defaultPersistentConfig
-
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
-