K
- 键类型V
- 值类型public interface Cache<K,V> extends Iterable<V>, Serializable
Modifier and Type | Method and Description |
---|---|
Iterator<CacheObj<K,V>> |
cacheObjIterator()
返回包含键和值得迭代器
|
int |
capacity()
返回缓存容量,
0 表示无大小限制 |
void |
clear()
清空缓存
|
boolean |
containsKey(K key)
是否包含key
|
default V |
get(K key)
从缓存中获得对象,当对象不在缓存中或已经过期返回
null
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回null ,否则返回值。 |
V |
get(K key,
boolean isUpdateLastAccess)
从缓存中获得对象,当对象不在缓存中或已经过期返回
null
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回null ,否则返回值。 |
V |
get(K key,
boolean isUpdateLastAccess,
Func0<V> supplier)
从缓存中获得对象,当对象不在缓存中或已经过期返回Func0回调产生的对象
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回supplier回调产生的对象,否则返回值。
|
V |
get(K key,
boolean isUpdateLastAccess,
long timeout,
Func0<V> supplier)
从缓存中获得对象,当对象不在缓存中或已经过期返回Func0回调产生的对象
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回supplier回调产生的对象,否则返回值。
|
default V |
get(K key,
Func0<V> supplier)
从缓存中获得对象,当对象不在缓存中或已经过期返回Func0回调产生的对象
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回返回supplier回调产生的对象,否则返回值。
|
boolean |
isEmpty()
缓存是否为空
|
boolean |
isFull()
缓存是否已满,仅用于有空间限制的缓存对象
|
int |
prune()
从缓存中清理过期对象,清理策略取决于具体实现
|
void |
put(K key,
V object)
将对象加入到缓存,使用默认失效时长
|
void |
put(K key,
V object,
long timeout)
将对象加入到缓存,使用指定失效时长
如果缓存空间满了, prune() 将被调用以获得空间来存放新对象 |
void |
remove(K key)
从缓存中移除对象
|
default Cache<K,V> |
setListener(CacheListener<K,V> listener)
设置监听
|
int |
size()
缓存的对象数量
|
long |
timeout()
缓存失效时长,
0 表示没有设置,单位毫秒 |
forEach, iterator, spliterator
int capacity()
0
表示无大小限制0
表示无大小限制long timeout()
0
表示没有设置,单位毫秒0
表示没有设置,单位毫秒void put(K key, V object)
key
- 键object
- 缓存的对象put(Object, Object, long)
void put(K key, V object, long timeout)
prune()
将被调用以获得空间来存放新对象key
- 键object
- 缓存的对象timeout
- 失效时长,单位毫秒default V get(K key)
null
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回null
,否则返回值。
每次调用此方法会刷新最后访问时间,也就是说会重新计算超时时间。
key
- 键get(Object, boolean)
default V get(K key, Func0<V> supplier)
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回返回supplier回调产生的对象,否则返回值。
每次调用此方法会刷新最后访问时间,也就是说会重新计算超时时间。
key
- 键supplier
- 如果不存在回调方法,用于生产值对象V get(K key, boolean isUpdateLastAccess, Func0<V> supplier)
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回supplier回调产生的对象,否则返回值。
每次调用此方法会可选是否刷新最后访问时间,true
表示会重新计算超时时间。
key
- 键isUpdateLastAccess
- 是否更新最后访问时间,即重新计算超时时间。supplier
- 如果不存在回调方法,用于生产值对象V get(K key, boolean isUpdateLastAccess, long timeout, Func0<V> supplier)
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回supplier回调产生的对象,否则返回值。
每次调用此方法会可选是否刷新最后访问时间,true
表示会重新计算超时时间。
key
- 键isUpdateLastAccess
- 是否更新最后访问时间,即重新计算超时时间。timeout
- 自定义超时时间supplier
- 如果不存在回调方法,用于生产值对象V get(K key, boolean isUpdateLastAccess)
null
调用此方法时,会检查上次调用时间,如果与当前时间差值大于超时时间返回null
,否则返回值。
每次调用此方法会可选是否刷新最后访问时间,true
表示会重新计算超时时间。
key
- 键isUpdateLastAccess
- 是否更新最后访问时间,即重新计算超时时间。Iterator<CacheObj<K,V>> cacheObjIterator()
int prune()
boolean isFull()
void remove(K key)
key
- 键void clear()
int size()
boolean isEmpty()
boolean containsKey(K key)
key
- KEYCopyright © 2024. All rights reserved.