public class RedisAdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable> extends AbstractGroupCacheable implements AdvancedCacheMap<K,V,I>
限定符和类型 | 字段和说明 |
---|---|
protected CacheConfiguration |
cacheConfiguration |
statistics
isCacheDisabled
构造器和说明 |
---|
RedisAdvancedCacheMap(java.lang.String group,
java.lang.String name,
com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner mapLoader,
boolean autoRefresh,
int noCheckTime) |
RedisAdvancedCacheMap(java.lang.String group,
java.lang.String name,
com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner mapLoader,
boolean autoRefresh,
int noCheckTime,
CacheConfiguration configuration) |
限定符和类型 | 方法和说明 |
---|---|
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. .
|
java.util.List<com.seeyon.ctp.component.cache.redis.CacheEntryInfo> |
getCacheEntryInfo(java.lang.String... keys) |
java.lang.String |
getCacheInfo(K... keys)
已过时。
|
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()
获取所有索引对象数据
|
V |
getNotUseL2Cache(K aKey)
直接访问redis获取数据,仅用于排查缓存问题
|
boolean |
hasInitedData()
是否已经初始化数据
|
boolean |
isAutoRefresh()
是否自动刚刷新
|
boolean |
isEmpty()
Returns true if this list contains no elements.
|
boolean |
isEnableLoadIndex() |
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模式的范围
|
void |
setEnableLoadIndex(boolean enableLoadIndex) |
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, setProtectDataExpire
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFullName, getGroup, getName, getStatistics
protected CacheConfiguration cacheConfiguration
public RedisAdvancedCacheMap(java.lang.String group, java.lang.String name, com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner mapLoader, boolean autoRefresh, int noCheckTime)
public RedisAdvancedCacheMap(java.lang.String group, java.lang.String name, com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner mapLoader, boolean autoRefresh, int noCheckTime, CacheConfiguration configuration)
public com.seeyon.ctp.component.cache.redis.LazyGet<V> lazyGet(K key)
AdvancedCacheMap
lazyGet
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
key
- 缓存的Keypublic I getIndexEntity(K key)
AdvancedCacheMap
getIndexEntity
在接口中 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)
AdvancedCacheMap
getIndexBatch
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
keys
- 需要查询的集合数据public java.util.Map<K,I> getIndexMap()
AdvancedCacheMap
getIndexMap
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void put(K key, V value)
AdvancedCacheMap
put
在接口中 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)
AdvancedCacheMap
putAll
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
map
- Java Mappublic void updateKey(K key)
AdvancedCacheMap
updateKey
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public V get(K key)
AdvancedCacheMap
get
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
key
- 缓存的Keypublic V get(K key, boolean noCheck)
AdvancedCacheMap
get
在接口中 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)
AdvancedCacheMap
getBatch
在接口中 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)
AdvancedCacheMap
doGetBatch
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void remove(K key)
AdvancedCacheMap
remove
在接口中 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)
AdvancedCacheMap
removeAll
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public int size()
GroupCacheable
size
在接口中 GroupCacheable
public boolean isEmpty()
GroupCacheable
isEmpty
在接口中 GroupCacheable
public void clear()
AdvancedCacheMap
clear
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
clear
在接口中 GroupCacheable
public boolean allowRedisFlush()
GroupCacheable
allowRedisFlush
在接口中 GroupCacheable
public boolean needConsistent()
GroupCacheable
needConsistent
在接口中 GroupCacheable
public boolean contains(K key)
AdvancedCacheMap
contains
在接口中 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)
AdvancedCacheMap
containsKeys
在接口中 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()
AdvancedCacheMap
keySet
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void startLocalMode()
AdvancedCacheMap
AdvancedCacheMap.endLocalMode()
调用时统一处理标记和本地缓存startLocalMode
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void endLocalMode()
AdvancedCacheMap
endLocalMode
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void putToLocal(K key, V value)
AdvancedCacheMap
putToLocal
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public V getFromLocal(K key)
AdvancedCacheMap
getFromLocal
在接口中 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)
AdvancedCacheMap
getBatchFromLocal
在接口中 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()
AdvancedCacheMap
checkInValidKeys
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void putNoWait(K key, V value)
AdvancedCacheMap
putNoWait
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void updateValue(K key, V value)
AdvancedCacheMap
updateValue
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public AdvancedCacheMap<K,V,I> setAutoNoCheckRange(NoCheckRange range)
AdvancedCacheMap
setAutoNoCheckRange
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
range
- 使用范围,参考NoCheckRange
public boolean isAutoRefresh()
AdvancedCacheMap
isAutoRefresh
在接口中 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()
AdvancedCacheMap
getCacheMapLoader
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public boolean hasInitedData()
AdvancedCacheMap
hasInitedData
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void finishInitData()
AdvancedCacheMap
finishInitData
在接口中 AdvancedCacheMap<K extends java.io.Serializable,V extends java.io.Serializable,I extends java.io.Serializable>
public void pauseNoCheckOnce()
NoCheckCacheMap
pauseNoCheckOnce
在接口中 NoCheckCacheMap
public void startNoCheckMode(NoCheckRange range)
NoCheckCacheMap
startNoCheckMode
在接口中 NoCheckCacheMap
range
- 使用范围,参考NoCheckRange
public void stopNoCheckMode(NoCheckRange range)
NoCheckCacheMap
stopNoCheckMode
在接口中 NoCheckCacheMap
range
- 使用范围,参考NoCheckRange
,需要与start时对应
不调用时,超过noCheckTime时间后,忽略check数据标记的模式自动失效 *@Deprecated public java.lang.String getCacheInfo(K... keys)
public java.util.List<com.seeyon.ctp.component.cache.redis.CacheEntryInfo> getCacheEntryInfo(java.lang.String... keys)
public boolean isEnableLoadIndex()
public void setEnableLoadIndex(boolean enableLoadIndex)