public class RedisCacheMap<K extends java.io.Serializable,V extends java.io.Serializable> extends AbstractCacheMap<K,V> implements NoCheckCacheMap, java.io.Serializable
cacheConfiguration, cacheMapDataLoader
statistics
isCacheDisabled
构造器和说明 |
---|
RedisCacheMap(java.lang.String group,
java.lang.String cacheName,
CacheConfiguration cacheConfiguration,
com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner<K,V,java.lang.String> dataLoader,
java.lang.Boolean isRestartReload) |
RedisCacheMap(java.lang.String group,
java.lang.String cacheName,
CacheConfiguration cacheConfiguration,
com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner<K,V,java.lang.String> dataLoader,
java.lang.Boolean isRestartReload,
java.lang.Boolean refreshFlag,
int noCheckTime) |
RedisCacheMap(java.lang.String group,
java.lang.String cacheName,
CacheConfiguration cacheConfiguration,
com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner<K,V,java.lang.String> dataLoader,
java.lang.Boolean isRestartReload,
int noCheckTime) |
RedisCacheMap(java.lang.String group,
java.lang.String cacheName,
CacheConfiguration cacheConfiguration,
MapDataLoader<K,V> dataLoader,
java.lang.Boolean isRestartReload) |
RedisCacheMap(java.lang.String group,
java.lang.String cacheName,
CacheConfiguration cacheConfiguration,
MapDataLoader<K,V> dataLoader,
java.lang.Boolean isRestartReload,
java.lang.Boolean refreshFlag,
int noCheckTime) |
RedisCacheMap(java.lang.String group,
java.lang.String cacheName,
CacheConfiguration cacheConfiguration,
MapDataLoader<K,V> dataLoader,
java.lang.Boolean isRestartReload,
int noCheckTime) |
限定符和类型 | 方法和说明 |
---|---|
boolean |
allowRedisFlush()
检查是否按需或者可以补偿回来
|
K[] |
checkInValidKeys()
检查版本标记已经无效的Key集合
|
void |
clear()
清除所有缓存项。
|
void |
clearAllTenantKey() |
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对应的值
|
java.util.Map<K,V> |
getBatchFromLocal(K... keys) |
java.util.List<com.seeyon.ctp.component.cache.redis.CacheEntryInfo> |
getCacheEntryInfo(java.lang.String... keys) |
java.lang.String |
getCacheInfo(K... keys) |
java.lang.String |
getCacheKey() |
V |
getFromLocal(K key)
从一级缓存(本地)获取数据,不检查版本标记也不击穿缓存从数据库加载,以此提升某些场景的获取效率,必须在调用startPutToLocal才能使用.
|
V |
getNotUseL2Cache(K aKey)
直接访问redis获取数据,仅用于排查缓存问题
|
java.util.Set<K> |
keySet()
Returns a set view of the keys contained in this map.
|
boolean |
needConsistent()
是否需要保持一级缓存一致性
|
void |
pauseNoCheckOnce()
暂停一次noCheck读取模式,下次get会获取会检验标记get到最新数据,用于put操作,避免更新前的脏读问题
|
int |
put(K key,
V value)
插入、更新map对象结构中的mapKey
key 在初始化时预制, 每一个RedisCacheMap实例,对应一个key
|
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)
移除缓存项
|
int |
size()
该方法提供的为本地大小,不代表Redis缓存大小,谨慎使用
Returns the number of elements in this list.
|
void |
startLocalMode()
开始本地操作模式,get put操作不更新或check Redis版本标记,在
CacheMap.endLocalMode() 调用时统一处理标记和本地缓存 |
void |
startNoCheckMode(NoCheckRange range)
手动开启noCheck读取模式
|
void |
stopNoCheckMode(NoCheckRange range)
手动关闭noCheck读取模式
|
java.util.Map<K,V> |
toMap()
将缓存转化为Map表示
|
void |
updateKey(K key)
更新缓存标记,下次get可从db进行load
|
java.util.Collection<V> |
values()
Returns a collection view of the values contained in this map.
|
getCacheConfiguration, getCacheMapDataLoader, isEmpty, setCacheConfiguration
checkBatchCacheMiss, checkBatchInProtectCache, checkCacheMiss, checkInProtectCache, clearProtectCache, getFullName, getGroup, getName, getStatistics, invalidateProtectCache, invalidateProtectCache, setBatchProtectCache, setProtectCache, setProtectDataExpire
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFullName, getGroup, getName, getStatistics, isEmpty
public RedisCacheMap(java.lang.String group, java.lang.String cacheName, CacheConfiguration cacheConfiguration, MapDataLoader<K,V> dataLoader, java.lang.Boolean isRestartReload)
public RedisCacheMap(java.lang.String group, java.lang.String cacheName, CacheConfiguration cacheConfiguration, MapDataLoader<K,V> dataLoader, java.lang.Boolean isRestartReload, int noCheckTime)
public RedisCacheMap(java.lang.String group, java.lang.String cacheName, CacheConfiguration cacheConfiguration, com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner<K,V,java.lang.String> dataLoader, java.lang.Boolean isRestartReload)
public RedisCacheMap(java.lang.String group, java.lang.String cacheName, CacheConfiguration cacheConfiguration, com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner<K,V,java.lang.String> dataLoader, java.lang.Boolean isRestartReload, int noCheckTime)
public RedisCacheMap(java.lang.String group, java.lang.String cacheName, CacheConfiguration cacheConfiguration, com.seeyon.ctp.component.cache.redis.L2CacheMapLoader_Inner<K,V,java.lang.String> dataLoader, java.lang.Boolean isRestartReload, java.lang.Boolean refreshFlag, int noCheckTime)
public RedisCacheMap(java.lang.String group, java.lang.String cacheName, CacheConfiguration cacheConfiguration, MapDataLoader<K,V> dataLoader, java.lang.Boolean isRestartReload, java.lang.Boolean refreshFlag, int noCheckTime)
public void clearAllTenantKey()
public java.lang.String getCacheKey()
getCacheKey
在类中 AbstractGroupCacheable
public java.util.Map<K,V> getBatch(java.util.Collection<K> keys)
CacheMap
public int putAll(java.util.Map<? extends K,? extends V> map)
CacheMap
public int clearAndPutAll(java.util.Map<? extends K,? extends V> map)
CacheMap
clearAndPutAll
在接口中 CacheMap<K extends java.io.Serializable,V extends java.io.Serializable>
map
- Java Mappublic java.util.Set<K> keySet()
CacheMap
public java.util.Collection<V> values()
CacheMap
public void startLocalMode()
CacheMap
CacheMap.endLocalMode()
调用时统一处理标记和本地缓存startLocalMode
在接口中 CacheMap<K extends java.io.Serializable,V extends java.io.Serializable>
public void endLocalMode()
CacheMap
endLocalMode
在接口中 CacheMap<K extends java.io.Serializable,V extends java.io.Serializable>
public void putToLocal(K key, V value)
CacheMap
putToLocal
在接口中 CacheMap<K extends java.io.Serializable,V extends java.io.Serializable>
public V getFromLocal(K key)
CacheMap
getFromLocal
在接口中 CacheMap<K extends java.io.Serializable,V extends java.io.Serializable>
public K[] checkInValidKeys()
CacheMap
checkInValidKeys
在接口中 CacheMap<K extends java.io.Serializable,V extends java.io.Serializable>
public void putNoWait(K key, V value)
CacheMap
public int size()
GroupCacheable
size
在接口中 GroupCacheable
public void clear()
GroupCacheable
clear
在接口中 GroupCacheable
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 allowRedisFlush()
GroupCacheable
allowRedisFlush
在接口中 GroupCacheable
public boolean needConsistent()
GroupCacheable
needConsistent
在接口中 GroupCacheable
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数据标记的模式自动失效 *