类 CacheChannel
java.lang.Object
net.oschina.j2cache.CacheChannel
- 所有已实现的接口:
Closeable,AutoCloseable
Cache Channel, the J2Cache methods explored to developers
- 作者:
- Winter Lau(javayou@gmail.com)
-
嵌套类概要
嵌套类 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明int判断某个key存在于哪级的缓存中voidClear the cachevoidclose()Close J2CachevoidRemove cached data in J2Cacheboolean判断某个缓存键是否存在读取缓存(用户无需判断返回的对象是否为空)支持外部数据自动加载的缓存方法get(String region, Collection<String> keys) 批量读取缓存中的对象(用户无需判断返回的对象是否为空)get(String region, Collection<String> keys, Function<String, Object> loader, boolean... cacheNullObject) 使用数据加载器的批量缓存读取获取一级缓存接口获取二级缓存的接口,该方法可用来直接获取 J2Cache 底层的 Redis 客户端实例Get cache region keysregions()返回所有的缓存区域voidremoveRegion(String region) 删除缓存 Regionprotected abstract voidsendClearCmd(String region) Just for Inner Use.protected abstract voidsendEvictCmd(String region, String... keys) Just for Inner Use.voidWrite data to J2CachevoidWrite data to J2CachevoidWrite data to j2cache with expired setting 注意:强烈不推荐使用带 TTL 的 set 方法,所有的缓存 TTL 都应该预先配置好,避免多个节点的缓存 Region 配置不同步voidWrite data to j2cache with expired setting 注意:强烈不推荐使用带 TTL 的 set 方法,所有的缓存 TTL 都应该预先配置好,避免多个节点的缓存 Region 配置不同步void批量插入数据void批量插入数据void带失效时间的批量缓存数据插入 注意:强烈不推荐使用带 TTL 的 set 方法,所有的缓存 TTL 都应该预先配置好,避免多个节点的缓存 Region 配置不同步void带失效时间的批量缓存数据插入 注意:强烈不推荐使用带 TTL 的 set 方法,所有的缓存 TTL 都应该预先配置好,避免多个节点的缓存 Region 配置不同步
-
构造器详细资料
-
CacheChannel
-
-
方法详细资料
-
sendClearCmd
Just for Inner Use.
To clear the whole region when received this event .
- 参数:
region- Cache region name
-
sendEvictCmd
Just for Inner Use.
To remove cached data when received this event .
- 参数:
region- Cache region namekeys- Cache data key
-
get
读取缓存(用户无需判断返回的对象是否为空)- 参数:
region- Cache region namekey- Cache data keycacheNullObject- 是否缓存空对象- 返回:
- cache object
-
get
public CacheObject get(String region, String key, Function<String, Object> loader, boolean... cacheNullObject) 支持外部数据自动加载的缓存方法- 参数:
region- Cache region namekey- Cache data keyloader- data loadercacheNullObject- true if you need to cache null object- 返回:
- cache object
-
get
批量读取缓存中的对象(用户无需判断返回的对象是否为空)- 参数:
region- Cache region namekeys- cache keys- 返回:
- cache object
-
get
public Map<String,CacheObject> get(String region, Collection<String> keys, Function<String, Object> loader, boolean... cacheNullObject) 使用数据加载器的批量缓存读取- 参数:
region- Cache region namekeys- cache keysloader- data loadercacheNullObject- true if you need to cache null object- 返回:
- multiple cache data
-
exists
判断某个缓存键是否存在- 参数:
region- Cache region namekey- cache key- 返回:
- true if key exists
-
check
判断某个key存在于哪级的缓存中- 参数:
region- cache regionkey- cache key- 返回:
- 0(不存在),1(一级),2(二级)
-
set
Write data to J2Cache- 参数:
region- : Cache Region namekey- : Cache keyvalue- : Cache value
-
set
Write data to J2Cache- 参数:
region- : Cache Region namekey- : Cache keyvalue- : Cache valuecacheNullObject- if allow cache null object
-
set
Write data to j2cache with expired setting 注意:强烈不推荐使用带 TTL 的 set 方法,所有的缓存 TTL 都应该预先配置好,避免多个节点的缓存 Region 配置不同步- 参数:
region- Cache Region namekey- Cache Keyvalue- Cache valuetimeToLiveInSeconds- cache expired in second
-
set
public void set(String region, String key, Object value, long timeToLiveInSeconds, boolean cacheNullObject) Write data to j2cache with expired setting 注意:强烈不推荐使用带 TTL 的 set 方法,所有的缓存 TTL 都应该预先配置好,避免多个节点的缓存 Region 配置不同步- 参数:
region- Cache Region namekey- Cache Keyvalue- Cache valuetimeToLiveInSeconds- cache expired in secondcacheNullObject- if allow cache null object
-
set
批量插入数据- 参数:
region- Cache Region nameelements- Cache Elements
-
set
批量插入数据- 参数:
region- Cache Region nameelements- Cache ElementscacheNullObject- if allow cache null object
-
set
带失效时间的批量缓存数据插入 注意:强烈不推荐使用带 TTL 的 set 方法,所有的缓存 TTL 都应该预先配置好,避免多个节点的缓存 Region 配置不同步- 参数:
region- Cache Region nameelements- Cache ElementstimeToLiveInSeconds- cache expired in second
-
set
public void set(String region, Map<String, Object> elements, long timeToLiveInSeconds, boolean cacheNullObject) 带失效时间的批量缓存数据插入 注意:强烈不推荐使用带 TTL 的 set 方法,所有的缓存 TTL 都应该预先配置好,避免多个节点的缓存 Region 配置不同步- 参数:
region- Cache Region nameelements- Cache ElementstimeToLiveInSeconds- cache expired in secondcacheNullObject- if allow cache null object
-
evict
Remove cached data in J2Cache- 参数:
region- : Cache Region namekeys- : Cache key
-
clear
Clear the cache- 参数:
region- : Cache region name
-
regions
返回所有的缓存区域- 返回:
- all the regions
-
removeRegion
删除缓存 Region- 参数:
region- Cache Region Name
-
keys
Get cache region keys
Notice: ehcache3 not support keys
- 参数:
region- : Cache region name- 返回:
- key list
-
close
public void close()Close J2Cache- 指定者:
close在接口中AutoCloseable- 指定者:
close在接口中Closeable
-
getL1Provider
获取一级缓存接口- 返回:
- 返回一级缓存的 CacheProvider 实例
-
getL2Provider
获取二级缓存的接口,该方法可用来直接获取 J2Cache 底层的 Redis 客户端实例
方法如下:
CacheChannel channel = J2Cache.getChannel(); RedisClient client = ((RedisCacheProvider)channel.getL2Provider()).getRedisClient(); try { client.get().xxxxx(...); } finally { client.release(); }- 返回:
- 返回二级缓存的 CacheProvider 实例
-