public interface CacheMap<K extends java.io.Serializable,V extends java.io.Serializable> extends GroupCacheable
注意:
当缓存的值改变时,必须重新调用put更新或调用notifyUpdate通知缓存组件。
比如缓存的值为java collection,调用get取值后直接对collection操作,缓存不能监听值的变化。
isCacheDisabled
限定符和类型 | 方法和说明 |
---|---|
K[] |
checkInValidKeys()
检查版本标记已经无效的Key集合
|
int |
clearAndPutAll(java.util.Map<? extends K,? extends V> map)
清除缓存并将Map中的所有项目设置到缓存中。
|
boolean |
contains(K key)
已过时。
|
void |
endLocalMode()
结束本地操作模式,需要根据本地操作模式下的相关缓存操作进行数据和标记位的统一处理
|
V |
get(K key)
获取key对应的值
|
java.util.Map<K,V> |
getBatch(java.util.Collection<K> keys)
获取keys对应的值
|
V |
getFromLocal(K key)
从一级缓存(本地)获取数据,不检查版本标记也不击穿缓存从数据库加载,以此提升某些场景的获取效率,必须在调用startPutToLocal才能使用.
|
java.util.Set<K> |
keySet()
已过时。
|
int |
put(K key,
V value)
设置缓存。
|
int |
putAll(java.util.Map<? extends K,? extends V> map)
将Map中的所有项目设置到缓存中。
|
void |
putNoWait(K key,
V value)
写入值,不等待缓存标记更新,在批量写入时能加快速度,异步清除本地缓存,和Redis上的缓存数据.不等待标志返回.
|
void |
putToLocal(K key,
V value)
更新一级缓存(本地)指定key的数据,不更新标志,必须在调用startPutToLocal才能使用.
|
int |
remove(K key)
移除缓存项。
|
int |
removeAll(java.util.Collection<K> keys)
移除缓存项
|
void |
startLocalMode()
开始本地操作模式,get put操作不更新或check Redis版本标记,在
endLocalMode() 调用时统一处理标记和本地缓存 |
java.util.Map<K,V> |
toMap()
已过时。
|
void |
updateKey(K key)
更新缓存标记,下次get可从db进行load
|
java.util.Collection<V> |
values()
已过时。
|
allowRedisFlush, clear, getFullName, getGroup, getName, getStatistics, isEmpty, needConsistent, size
int putAll(java.util.Map<? extends K,? extends V> map)
map
- Java Mapint clearAndPutAll(java.util.Map<? extends K,? extends V> map)
map
- Java Mapint remove(K key)
key
- 缓存的Keynull
。int removeAll(java.util.Collection<K> keys)
keys
- 缓存的Key集合,所有以集合中元素为key的换成都会被移除。true
,否则返回false
。void updateKey(K key)
keys
- 缓存的Key@Deprecated boolean contains(K key)
key
- 缓存的Keytrue
,否则返回false
。@Deprecated java.util.Set<K> keySet()
@Deprecated java.util.Collection<V> values()
void startLocalMode()
endLocalMode()
调用时统一处理标记和本地缓存void endLocalMode()
void putToLocal(K key, V value)
key
- V getFromLocal(K key)
key
- K[] checkInValidKeys()