K
- - 缓存键V
- - 缓存值public abstract class Cache<K extends java.io.Serializable,V extends java.io.Serializable>
extends java.lang.Object
load()
方法完成缓存初始化。App启动时通过CachePluginProfile的注册声明加载该缓存对象 ReplicateActionListener
扩展自定义缓存同步动作;限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
ACTION_DESTROY
销毁全部缓存对象指令
|
static java.lang.String |
ACTION_INIT
重新加载缓存对象指令
|
static java.lang.String |
ACTION_PUT
更新缓存对象指令
|
static java.lang.String |
ACTION_REMOVE
移走缓存对象指令
|
static int |
MEM_LOADING |
static int |
REDIS_CLOSE |
static int |
REDIS_CLOSEING |
static int |
REDIS_NO_LOADREDIS |
static int |
REDIS_OPEN |
static int |
REDIS_OPENING |
构造器和说明 |
---|
Cache() |
Cache(CachePluginProfile configuration)
构造方法,初始化一个新的缓存存储和缓存索引。
|
限定符和类型 | 方法和说明 |
---|---|
void |
addOpsTrace(java.lang.String op,
K key)
增加操作信息,内部方法
|
void |
addTo() |
void |
destroy()
清空缓存内容,同时清空集群节点
|
void |
destroy(boolean notifyCluster)
清空缓存内容
|
void |
destroyMem(boolean notifyCluster) |
void |
destroyRedis() |
V |
get(K key)
根据key查询缓存对象,当对象过期或者不存在时返回null
|
CachePluginProfile |
getConfiguration()
Cache插件配置模型
|
java.util.Map<java.lang.Class<? extends <any>>,<any>> |
getIndexs()
获得索引集合,内部使用
|
<any> |
getOpsTrace()
获得当前缓存的操作信息
|
<any> |
getRedisAdapter() |
java.util.List<V> |
getRedisValues(java.util.List<K> keys) |
long |
getUpdateTime()
获得最后更新时间
|
boolean |
isPurge()
是否定期执行该缓存的purge方法
|
boolean |
isRedisCache() |
java.util.Iterator<V> |
iterator()
获得结果迭代器,但不保证缓存对象顺序
|
java.util.Iterator<V> |
iteratorSorted(java.util.Comparator<V> comparator)
获得排序后的结果迭代器
|
static <T> java.util.List<T> |
iteratorToList(java.util.Iterator<T> it)
工具方法,将迭代转换为列表
|
java.util.Set<K> |
keys()
所有的键
|
void |
onReplicate(java.lang.String action,
java.lang.Object param)
仅用于cache内部。
|
void |
purge()
清理方法
|
void |
put(K key,
V object)
缓存一个永不过期的对象,如果处于集群部署时同步到其他节点
|
void |
put(K key,
V object,
boolean notifyCluster)
缓存一个永不过期的对象
|
void |
put(K key,
V object,
long timeout)
缓存一个对象,如果处于集群部署时同步到其他节点
|
void |
put(K key,
V object,
long timeout,
boolean notifyCluster)
缓存一个对象
|
void |
putRedis(java.util.List<V> list)
将多个对象批量放入Redis
|
void |
reload()
重新加载缓存,包含重新加载其它集群节点
|
void |
reload(boolean notifyCluster)
重新加载缓存
|
void |
remove(K key) |
void |
remove(K key,
boolean notifyCluster) |
V |
removeX(K key)
根据key删除缓存对象。
|
V |
removeX(K key,
boolean notifyCluster)
根据key删除缓存对象
|
void |
replicate(java.lang.String action,
java.io.Serializable param)
仅用于cache的子类。
|
int |
size()
获得当前缓存对象个数。
|
java.util.stream.Stream<V> |
stream()
获取一个不保证缓存顺序的串行流
|
public static final java.lang.String ACTION_PUT
public static final java.lang.String ACTION_REMOVE
public static final java.lang.String ACTION_INIT
public static final java.lang.String ACTION_DESTROY
public static final int REDIS_CLOSE
public static final int REDIS_OPEN
public static final int REDIS_OPENING
public static final int REDIS_CLOSEING
public static final int REDIS_NO_LOADREDIS
public static final int MEM_LOADING
public Cache(CachePluginProfile configuration)
configuration
- 缓存插件注册配置对象ReplicateActionListener
,
CacheIndex
public Cache()
public void put(K key, V object)
key
- 缓存对象键值object
- 缓存对象key、object实现序列化接口
public void put(K key, V object, boolean notifyCluster)
key
- 缓存对象键值object
- 缓存对象notifyCluster
- 是否同步到其它集群节点key、object实现序列化接口
public void put(K key, V object, long timeout)
key
- 缓存对象键值object
- 缓存对象timeout
- 过期时间(单位秒),如果值为0表示永不过期key、object实现序列化接口
public void put(K key, V object, long timeout, boolean notifyCluster)
key
- 缓存对象键值object
- 缓存对象timeout
- 过期时间(单位秒),如果值为0表示永不过期notifyCluster
- 是否同步到其它集群节点key、object实现序列化接口
public void reload()
public void reload(boolean notifyCluster)
notifyCluster
- 是否重新加载其它集群节点public void destroy()
public void destroy(boolean notifyCluster)
notifyCluster
- 是否清空保存集群节点public void destroyRedis()
public void destroyMem(boolean notifyCluster)
public java.util.Set<K> keys()
public void purge()
public java.util.Iterator<V> iterator()
public java.util.stream.Stream<V> stream()
public java.util.Iterator<V> iteratorSorted(java.util.Comparator<V> comparator)
comparator
- 排序算法public void remove(K key)
public void remove(K key, boolean notifyCluster)
public V removeX(K key, boolean notifyCluster)
key
- 缓存对象键值notifyCluster
- 是否删除其它集群节点的对象public void replicate(java.lang.String action, java.io.Serializable param)
public void onReplicate(java.lang.String action, java.lang.Object param)
public int size()
public java.util.Map<java.lang.Class<? extends <any>>,<any>> getIndexs()
public static <T> java.util.List<T> iteratorToList(java.util.Iterator<T> it)
it
- 迭代器public CachePluginProfile getConfiguration()
public boolean isPurge()
public long getUpdateTime()
public void addOpsTrace(java.lang.String op, K key)
op
- 操作信息key
- 键public <any> getOpsTrace()
public <any> getRedisAdapter()
public void putRedis(java.util.List<V> list)
list
- 需缓存的对象组成的listpublic boolean isRedisCache()
public void addTo()
Copyright © Actionsoft Co., Ltd. All Rights Reserved.