Package com.luna.common.cache
Class SimpleCache<K,V>
java.lang.Object
com.luna.common.cache.SimpleCache<K,V>
- Type Parameters:
K- 键类型V- 值类型
- All Implemented Interfaces:
Serializable,Iterable<Map.Entry<K,V>>
简单缓存,无超时实现,默认使用
WeakHashMap实现缓存自动清理- Author:
- Looly
- See Also:
-
Field Details
-
keyLockMap
写的时候每个key一把锁,降低锁的粒度
-
-
Constructor Details
-
SimpleCache
public SimpleCache()构造,默认使用WeakHashMap实现缓存自动清理 -
SimpleCache
构造通过自定义Map初始化,可以自定义缓存实现。
比如使用WeakHashMap则会自动清理key,使用HashMap则不会清理
同时,传入的Map对象也可以自带初始化的键值对,防止在get时创建- Parameters:
initMap- 初始Map,用于定义Map类型
-
-
Method Details
-
get
从缓存池中查找值- Parameters:
key- 键- Returns:
- 值
-
get
从缓存中获得对象,当对象不在缓存中或已经过期返回Func0回调产生的对象- Parameters:
key- 键supplier- 如果不存在回调方法,用于生产值对象- Returns:
- 值对象
-
put
放入缓存- Parameters:
key- 键value- 值- Returns:
- 值
-
remove
移除缓存- Parameters:
key- 键- Returns:
- 移除的值
-
clear
public void clear()清空缓存池 -
iterator
-