public class GenericAdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable> extends AbstractGroupCacheable implements AdvancedCacheMap<K,V,I>
statisticsisCacheDisabled| 构造器和说明 |
|---|
GenericAdvancedCacheMap(java.lang.String group,
java.lang.String name,
com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner loader,
boolean autoRefresh) |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
allowRedisFlush()
检查是否按需或者可以补偿回来
|
K[] |
checkInValidKeys()
检查版本标记已经无效的Key集合
|
void |
clear()
清楚所有缓存对象
|
boolean |
contains(K key)
判断是否存在指定的缓存项
|
java.util.Map<K,java.lang.Boolean> |
containsKeys(K... keys)
批量判断keys是否存在
|
java.util.Map<K,V> |
doGetBatch(K... keys)
初始化数据所需,为了全量加载的缓存
框架层面调用,尽量避免应用层面调用
|
void |
endLocalMode()
结束本地操作模式,需要根据本地操作模式下的相关缓存操作进行数据和标记位的统一处理
|
void |
finishInitData()
完成初始化数据时调用
|
V |
get(K key)
获取key对应的值
|
V |
get(K key,
boolean noCheck)
获取key对应的值
|
java.util.Map<K,V> |
getAllFromLocal() |
java.util.Map<K,V> |
getBatch(K... keys)
获取key对应的值
|
java.util.Map<K,V> |
getBatchFromLocal(K... keys)
从一级缓存(本地)获取数据,不检查版本标记也不击穿缓存从数据库加载,以此提升某些场景的获取效率,自动调用startLocalMode 和endLocalMode. .
|
com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner |
getCacheMapLoader()
获取绑定的loader
|
V |
getFromLocal(K key)
从一级缓存(本地)获取数据,不检查版本标记也不击穿缓存从数据库加载,以此提升某些场景的获取效率,必须在调用startPutToLocal才能使用.
|
java.util.Map<K,I> |
getIndexBatch(K... keys)
根据key集合获取索引对象集合
|
I |
getIndexEntity(K key)
根据key值获取索引对象(只包括部分需要列表展示的数据)
|
java.util.Map<K,I> |
getIndexMap()
获取所有索引对象数据
|
boolean |
hasInitedData()
是否已经初始化数据
|
boolean |
isAutoRefresh()
是否自动刚刷新
|
boolean |
isEmpty()
Returns true if this list contains no elements.
|
java.util.Set<K> |
keySet()
获取缓存对象中所有Key的集合
|
com.seeyon.ctp.component.cache.redis.LazyGet<V> |
lazyGet(K key)
获取key对应的延期加载器
|
boolean |
needConsistent()
是否需要保持一级缓存一致性
|
void |
pauseNoCheckOnce()
暂停一次noCheck读取模式,下次get会获取会检验标记get到最新数据,用于put操作,避免更新前的脏读问题
|
void |
put(K key,
V value)
设置缓存。
|
void |
putAll(java.util.Map<K,V> map)
将Map中的所有项目设置到缓存中。
|
void |
putNoWait(K key,
V value)
写入值,不等待缓存标记更新,在批量写入时能加快速度,异步清除本地缓存,和Redis上的缓存数据.不等待标志返回.
|
void |
putToLocal(K key,
V value)
更新一级缓存(本地)指定key的数据,不更新标志,必须在调用startPutToLocal才能使用.
|
void |
remove(K key)
移除缓存项。
|
void |
removeAll(java.util.Collection<K> keys)
按照指定的keys进行批量删除
|
AdvancedCacheMap<K,V,I> |
setAutoNoCheckRange(NoCheckRange range)
设置Cache自动执行noCheck模式的范围
|
int |
size()
该方法提供的为本地大小,不代表Redis缓存大小,谨慎使用
Returns the number of elements in this list.
|
void |
startLocalMode()
开始本地操作模式,get put操作不更新或check Redis版本标记,在
AdvancedCacheMap.endLocalMode() 调用时统一处理标记和本地缓存 |
void |
startNoCheckMode(NoCheckRange range)
手动开启noCheck读取模式
|
void |
stopNoCheckMode(NoCheckRange range)
手动关闭noCheck读取模式
|
void |
updateKey(K key)
更新缓存标记。
|
void |
updateValue(K key,
V value)
只更新值,无须更新索引,避免索引的重复加载
|
checkBatchCacheMiss, checkBatchInProtectCache, checkCacheMiss, checkInProtectCache, clearProtectCache, getCacheKey, getFullName, getGroup, getName, getStatistics, invalidateProtectCache, invalidateProtectCache, setBatchProtectCache, setProtectCache, setProtectDataExpireclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFullName, getGroup, getName, getStatisticspublic GenericAdvancedCacheMap(java.lang.String group,
java.lang.String name,
com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner loader,
boolean autoRefresh)
public com.seeyon.ctp.component.cache.redis.LazyGet<V> lazyGet(K key)
AdvancedCacheMaplazyGet 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>key - 缓存的Keypublic I getIndexEntity(K key)
AdvancedCacheMapgetIndexEntity 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public java.util.Map<K,I> getIndexBatch(K... keys)
AdvancedCacheMapgetIndexBatch 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>keys - 需要查询的集合数据public java.util.Map<K,I> getIndexMap()
AdvancedCacheMapgetIndexMap 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void put(K key, V value)
AdvancedCacheMapput 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void putAll(java.util.Map<K,V> map)
AdvancedCacheMapputAll 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>map - Java Mappublic void updateKey(K key)
AdvancedCacheMapupdateKey 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public V get(K key)
AdvancedCacheMapget 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>key - 缓存的Keypublic V get(K key, boolean noCheck)
AdvancedCacheMapget 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>key - 缓存的KeynoCheck - 是否和本地缓存做比较public java.util.Map<K,V> getBatch(K... keys)
AdvancedCacheMapgetBatch 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>keys - 缓存的Keypublic java.util.Map<K,V> doGetBatch(K... keys)
AdvancedCacheMapdoGetBatch 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void remove(K key)
AdvancedCacheMapremove 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>key - 缓存的Keypublic void removeAll(java.util.Collection<K> keys)
AdvancedCacheMapremoveAll 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public int size()
GroupCacheablesize 在接口中 GroupCacheablepublic boolean isEmpty()
GroupCacheableisEmpty 在接口中 GroupCacheablepublic void clear()
AdvancedCacheMapclear 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>clear 在接口中 GroupCacheablepublic boolean allowRedisFlush()
GroupCacheableallowRedisFlush 在接口中 GroupCacheablepublic boolean needConsistent()
GroupCacheableneedConsistent 在接口中 GroupCacheablepublic boolean contains(K key)
AdvancedCacheMapcontains 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>key - 缓存的Keytrue,否则返回false。public java.util.Map<K,java.lang.Boolean> containsKeys(K... keys)
AdvancedCacheMapcontainsKeys 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>keys - 缓存的Key集合true,否则返回的itemValue为false。public java.util.Set<K> keySet()
AdvancedCacheMapkeySet 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void startLocalMode()
AdvancedCacheMapAdvancedCacheMap.endLocalMode() 调用时统一处理标记和本地缓存startLocalMode 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void endLocalMode()
AdvancedCacheMapendLocalMode 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void putToLocal(K key, V value)
AdvancedCacheMapputToLocal 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public V getFromLocal(K key)
AdvancedCacheMapgetFromLocal 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public java.util.Map<K,V> getBatchFromLocal(K... keys)
AdvancedCacheMapgetBatchFromLocal 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public java.util.Map<K,V> getAllFromLocal()
getAllFromLocal 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public K[] checkInValidKeys()
AdvancedCacheMapcheckInValidKeys 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void putNoWait(K key, V value)
AdvancedCacheMapputNoWait 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void updateValue(K key, V value)
AdvancedCacheMapupdateValue 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public AdvancedCacheMap<K,V,I> setAutoNoCheckRange(NoCheckRange range)
AdvancedCacheMapsetAutoNoCheckRange 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>range - 使用范围,参考NoCheckRangepublic boolean isAutoRefresh()
AdvancedCacheMapisAutoRefresh 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner getCacheMapLoader()
AdvancedCacheMapgetCacheMapLoader 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public boolean hasInitedData()
AdvancedCacheMaphasInitedData 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void finishInitData()
AdvancedCacheMapfinishInitData 在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>public void pauseNoCheckOnce()
NoCheckCacheMappauseNoCheckOnce 在接口中 NoCheckCacheMappublic void startNoCheckMode(NoCheckRange range)
NoCheckCacheMapstartNoCheckMode 在接口中 NoCheckCacheMaprange - 使用范围,参考NoCheckRangepublic void stopNoCheckMode(NoCheckRange range)
NoCheckCacheMapstopNoCheckMode 在接口中 NoCheckCacheMaprange - 使用范围,参考NoCheckRange,需要与start时对应
不调用时,超过noCheckTime时间后,忽略check数据标记的模式自动失效 *