`
yinchunjian
  • 浏览: 279447 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

设置缓存

阅读更多

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;
    }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics