com.seeyon.ctp.common.cache
接口 CacheAccessable

所有已知实现类:
com.seeyon.ctp.common.cache.AbstractCacheFactory, CacheFactory, ThreadCacheFactory

public interface CacheAccessable

缓存管理接口,统一管理缓存的创建和调配。
可以通过CacheFactory或ThreadCacheFactory获取实例。
取得缓存管理工厂实例

 CacheAccessable factory = CacheFactory.getInstance(MyClass.class);
 
或 创建一个线程缓存工厂
 CacheAccessable factory = ThreadCacheFactory.getInstance(MyClass.class);
 
创建缓存
一般用法:
    private CacheMap cache = factory.createMap("first");
    ...
                 
    cache.put("key",value);
    ...
    String value = cache.get("aKey");
    if(value!=null) value.doSomething();
 
创建一个只在本地使用的Map缓存:
 CacheMap<String, String> localCache = factory.createMap("aLocalCache",
                new CacheConfiguration(CacheConfiguration.CacheScope.Local));
 
 
创建一个限制大小的Map缓存,使用LRU算法:
 CacheMap<String, String> limitedCache = factory.createMap("aLimitedCache",
                new CacheConfiguration(15, CacheConfiguration.CacheAlgorithm.LRU));
 

从以下版本开始:
3.20
作者:
wangwy
另请参见:
CacheFactory, ThreadCacheFactory

方法摘要
<K extends java.io.Serializable,V extends java.io.Serializable>
CacheMap<K,V>
createLinkedMap(java.lang.String cacheName)
          创建排序的Map缓存。
<K extends java.io.Serializable,V extends java.io.Serializable>
CacheMap<K,V>
createMap(java.lang.String cacheName)
          创建Map缓存。
<K extends java.io.Serializable,V extends java.io.Serializable>
CacheMap<K,V>
createMap(java.lang.String cacheName, com.seeyon.ctp.common.cache.CacheConfiguration config)
          按照配置创建缓存。
<E extends java.io.Serializable>
CacheObject<E>
createObject(java.lang.String cacheName)
          创建对象缓存。
<E extends java.io.Serializable>
CacheSet<E>
createSet(java.lang.String cacheName)
          创建Set缓存。
<K extends java.io.Serializable,V extends java.io.Serializable>
CacheMap<K,V>
getMap(java.lang.String cacheName)
          取得Map缓存的实例。
<E extends java.io.Serializable>
CacheObject<E>
getObject(java.lang.String cacheName)
          取得缓存的实例。
<E extends java.io.Serializable>
CacheSet<E>
getSet(java.lang.String cacheName)
          取得缓存的实例。
 boolean isExist(java.lang.String cacheName)
          判断指定名称的Cache是否存在。
 GroupCacheable lookup(java.lang.String cacheName)
          取得缓存的实例。
 

方法详细信息

getMap

<K extends java.io.Serializable,V extends java.io.Serializable> CacheMap<K,V> getMap(java.lang.String cacheName)
取得Map缓存的实例。缓存需要先使用create方法初始化。

参数:
cacheName - 缓存名称。
返回:
缓存的实例,如果不存在抛NoSuchCacheException
抛出:
NoSuchCacheException - 不存在指定Cache时抛出。

getSet

<E extends java.io.Serializable> CacheSet<E> getSet(java.lang.String cacheName)
取得缓存的实例。缓存需要先使用create方法初始化。

参数:
cacheName - 缓存名称。
返回:
缓存的实例,如果不存在抛NoSuchCacheException
抛出:
NoSuchCacheException - 不存在指定Cache时抛出。

lookup

GroupCacheable lookup(java.lang.String cacheName)
取得缓存的实例。

参数:
cacheName - 缓存名称。
返回:
缓存的实例,如果不存在抛NoSuchCacheException
抛出:
NoSuchCacheException - 不存在指定Cache时抛出。

isExist

boolean isExist(java.lang.String cacheName)
判断指定名称的Cache是否存在。

参数:
cacheName - Cache名称
返回:
存在则返回true,否则返回false

createMap

<K extends java.io.Serializable,V extends java.io.Serializable> CacheMap<K,V> createMap(java.lang.String cacheName)
创建Map缓存。
创建的缓存不限制容量, LifeCycle为Global。

参数:
cacheName - 缓存名称,同一应用要使用多个缓存必须保证缓存名称不重复。不允许使用:字符。
返回:
缓存对象。如果指定缓存已存在抛CacheAlreadyExistException
抛出:
CacheAlreadyExistException - 指定名称的缓存已存在抛出。

createMap

<K extends java.io.Serializable,V extends java.io.Serializable> CacheMap<K,V> createMap(java.lang.String cacheName,
                                                                                        com.seeyon.ctp.common.cache.CacheConfiguration config)
按照配置创建缓存。

参数:
cacheName - 缓存名称,同一应用要使用多个缓存必须保证缓存名称不重复。不允许使用:字符。
config - 缓存配置。只在创建缓存时生效,创建后配置的改变不影响缓存。
返回:
缓存对象。如果指定缓存已存在抛CacheAlreadyExistException
抛出:
CacheAlreadyExistException - 指定名称的缓存已存在抛出。

createLinkedMap

<K extends java.io.Serializable,V extends java.io.Serializable> CacheMap<K,V> createLinkedMap(java.lang.String cacheName)
创建排序的Map缓存。按插入顺序排序,逻辑同LinkedHashMap。
创建的缓存不限制容量, LifeCycle为Global。

参数:
cacheName - 缓存名称,同一应用要使用多个缓存必须保证缓存名称不重复。不允许使用:字符。
返回:
缓存对象。如果指定缓存已存在抛CacheAlreadyExistException
抛出:
CacheAlreadyExistException - 指定名称的缓存已存在抛出。

createSet

<E extends java.io.Serializable> CacheSet<E> createSet(java.lang.String cacheName)
创建Set缓存。

参数:
cacheName - 缓存名称,同一应用要使用多个缓存必须保证缓存名称不重复。不允许使用:字符。
返回:
缓存对象。如果指定缓存已存在抛CacheAlreadyExistException
抛出:
CacheAlreadyExistException - 指定名称的缓存已存在抛出。

getObject

<E extends java.io.Serializable> CacheObject<E> getObject(java.lang.String cacheName)
取得缓存的实例。缓存需要先使用create方法初始化。

参数:
cacheName - 缓存名称。
返回:
缓存的实例,如果不存在抛NoSuchCacheException
抛出:
NoSuchCacheException - 不存在指定Cache时抛出。

createObject

<E extends java.io.Serializable> CacheObject<E> createObject(java.lang.String cacheName)
创建对象缓存。

参数:
cacheName - 缓存名称,同一应用要使用多个缓存必须保证缓存名称不重复。不允许使用:字符。
返回:
缓存对象。如果指定缓存已存在抛CacheAlreadyExistException
抛出:
CacheAlreadyExistException - 指定名称的缓存已存在抛出。