Package com.xxl.tool.cache.iface
Interface Cache<K,V>
- Type Parameters:
K-V-
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
FIFOCache,LFUCache,LRUCache,NoCache,ReentrantCache,UnlimitedCache
Cache Interface
-
Method Summary
Modifier and TypeMethodDescriptionasMap()返回 键-值 映射,仅包括有效数据intcapacity()缓存容量,0表示无限制voidclear()清空缓存对象booleancontainsKey(K key) 是否包含key获取缓存对象get(K key, CacheLoader<K, V> cacheLoader) 获取缓存对象getIfPresent(K key) 获取缓存对象longhitCount()booleanisEmpty()缓存是否为空booleanisFull()缓存是否已满,仅用于有空间限制的缓存对象longintprune()清理过期缓存对象void设置缓存对象void删除单个缓存对象setListener(CacheListener<K, V> listener) 设置监听setLoader(CacheLoader<K, V> listener) 设置监听intsize()缓存对象数量longtimeout()缓存有效期,0表示无限制,单位毫秒
-
Method Details
-
put
设置缓存对象- Parameters:
key- 健object- 值对象
-
get
获取缓存对象1、缓存对象不存在 或 已过期:尝试使用 cacheLoader 加载并返回对象,如果 cacheLoader 不存在返回
null2、每次调用此方法会刷新最后访问时间,即重新计算超时时间- Parameters:
key- 键- Returns:
- 值对象
-
getIfPresent
获取缓存对象1、缓存对象不存在 或 已过期:直接返回
null2、每次调用此方法会刷新最后访问时间,即重新计算超时时间- Parameters:
key- 键- Returns:
- 值对象
-
get
获取缓存对象1、缓存对象不存在 或 已过期:使用 cacheLoader 加载并返回对象 2、每次调用此方法,可选是否 刷新最后访问时间,即重新计算超时时间
- Parameters:
key- 键cacheLoader- 回调方法,用于生产值对象- Returns:
- 值对象
-
containsKey
是否包含key- Parameters:
key- 键- Returns:
- 值对象
-
asMap
返回 键-值 映射,仅包括有效数据- Returns:
- 键-值 映射(过滤已过期数据)
-
size
int size()缓存对象数量1、包含过期数据
-
isFull
boolean isFull()缓存是否已满,仅用于有空间限制的缓存对象1、包含过期数据
-
isEmpty
boolean isEmpty()缓存是否为空1、包含过期数据
-
remove
删除单个缓存对象- Parameters:
key- 键
-
prune
int prune()清理过期缓存对象 -
clear
void clear()清空缓存对象 -
hitCount
long hitCount()- Returns:
- 命中数
-
missCount
long missCount()- Returns:
- 丢失数
-
capacity
int capacity()缓存容量,0表示无限制 -
timeout
long timeout()缓存有效期,0表示无限制,单位毫秒 -
setListener
设置监听 -
setLoader
设置监听
-