public interface FineCacheMap<K,V> extends FineMap<K,V>, FineCacheObject
限定符和类型 | 方法和说明 |
---|---|
void |
destroy()
销毁
因为有清过期key线程,所以需要支持
外层手动调用销毁方法
|
java.util.Set<K> |
keySet() |
V |
put(K key,
V value,
long ttl)
设置一个key-value 值,可以设置过期时间,单位毫秒
|
V |
put(K key,
V value,
long ttl,
long maxIdleTime)
设置key-value值单位为毫秒
|
V |
put(K key,
V value,
long ttl,
java.util.concurrent.TimeUnit unit)
设置一个key-value 值,可以设置过期时间
|
V |
put(K key,
V value,
long ttl,
java.util.concurrent.TimeUnit ttlUnit,
long maxIdleTime,
java.util.concurrent.TimeUnit maxIdleUnit)
设置一个key-value 值,可以设置过期时间,最大空闲时间
|
void |
putAll(java.util.Map<? extends K,? extends V> map,
long ttl) |
void |
putAll(java.util.Map<? extends K,? extends V> map,
long ttl,
java.util.concurrent.TimeUnit ttlUnit) |
V |
putIfAbsent(K key,
V value,
long ttl)
当且仅当key不存在是进行保存,如果存在则返回原先的值
|
V |
putIfAbsent(K key,
V value,
long ttl,
long maxIdleTime)
缺失则设置key-value值单位为毫秒
|
V |
putIfAbsent(K key,
V value,
long ttl,
java.util.concurrent.TimeUnit ttlUnit)
当且仅当key不存在是进行保存,如果存在则返回原先的值
|
V |
putIfAbsent(K key,
V value,
long ttl,
java.util.concurrent.TimeUnit ttlUnit,
long maxIdleTime,
java.util.concurrent.TimeUnit maxIdleUnit)
缺失则设置一个key-value 值,可以设置过期时间,最大空闲时间
|
long |
remainTimeToLive(K key)
关联的key值还有多久才过期
|
int |
size()
注意这边返回的大小可能包括已经失效的key值
如果清理进程没有来的急清理过期的key
KeySet, Values,Entry 这些对象的迭代器的能保证获取出来的对象不是过期的
|
V put(K key, V value, long ttl, java.util.concurrent.TimeUnit ttlUnit, long maxIdleTime, java.util.concurrent.TimeUnit maxIdleUnit)
key
- value
- ttl
- 过期时间
为0时表示没有过期时间ttlUnit
- 时间单位maxIdleTime
- 最大过期时间应该大于最大空闲时间,最大空闲时间表示,如果有多长时间这个key值没有用
则失效
为0时表示没有最大空闲时间期限maxIdleUnit
- 最大空闲时间时间单位V put(K key, V value, long ttl, long maxIdleTime)
key
- value
- ttl
- maxIdleTime
- V put(K key, V value, long ttl, java.util.concurrent.TimeUnit unit)
key
- value
- ttl
- 过期时间
为0时表示没有过期时间unit
- 时间单位V putIfAbsent(K key, V value, long ttl, java.util.concurrent.TimeUnit ttlUnit, long maxIdleTime, java.util.concurrent.TimeUnit maxIdleUnit)
key
- value
- ttl
- 过期时间
为0时表示没有过期时间ttlUnit
- 时间单位maxIdleTime
- 最大过期时间应该大于最大空闲时间,最大空闲时间表示,如果有多长时间这个key值没有用
则失效
为0时表示没有最大空闲时间期限maxIdleUnit
- 最大空闲时间时间单位V putIfAbsent(K key, V value, long ttl, long maxIdleTime)
key
- value
- ttl
- maxIdleTime
- V putIfAbsent(K key, V value, long ttl, java.util.concurrent.TimeUnit ttlUnit)
key
- value
- ttl
- 过期时间
为0时表示没有过期时间ttlUnit
- 时间单位V putIfAbsent(K key, V value, long ttl)
key
- value
- ttl
- 过期时间
为0时表示没有过期时间
时间毫秒void putAll(java.util.Map<? extends K,? extends V> map, long ttl, java.util.concurrent.TimeUnit ttlUnit)
map
- ttl
- 过期时间ttlUnit
- - 时间单位int size()
long remainTimeToLive(K key)
key
- - map keyvoid destroy()