public class BaseCache extends GeneralCacheAdministrator
{
// 过期时间(单位为秒);
private int refreshPeriod;
// 关键字前缀字符;
private String keyPrefix;
public BaseCache(String keyPrefix, int refreshPeriod)
{
this(new OSCacheConfig(keyPrefix).getProperties(), keyPrefix, refreshPeriod);
}
带属性文件的构造参数
public BaseCache(Properties properties, String keyPrefix, int refreshPeriod)
{
super(properties);
this.keyPrefix = keyPrefix;
this.refreshPeriod = refreshPeriod;
}
添加被缓存的对象
public void put(String key, Object value)
{
this.putInCache(this.keyPrefix + "_" + key, value);
}
删除被缓存的对象
public void remove(String key)
{
this.flushEntry(this.keyPrefix + "_" + key);
}
删除所有被缓存的对象
@param date Date 指定时间删除
public void removeAll(Date date)
{
this.flushAll(date);
}
删除所有被缓存的对象
public void removeAll()
{
this.flushAll();
}
获取被缓存的对象
public Object get(String key)
{
Object cacheObject = null;
try
{
cacheObject = this.getFromCache(this.keyPrefix + "_" + key, this.refreshPeriod);
}
catch (NeedsRefreshException e)
{
log.debug("Get cache object failed. The cache map key is [" + key + "], failed reason:" + e.toString());
this.cancelUpdate(this.keyPrefix + "_" + key);
cacheObject = null;
}
return cacheObject;
}