Exemplo n.º 1
0
  @Override
  public Object getCache(CacheSelector cacheSelector) throws Exception {
    File file = new File(this.getRealFilePath(cacheSelector.getCacheKey()));
    if (!file.exists()) {
      return null;
    }

    Object fileObj = FileOperate.getFileObject(file); // 文件中保存的对象
    Object fileStorageObject = null; // 文件中保存的对象
    if (null != fileObj && fileObj instanceof FileCacheObject) {
      FileCacheObject fcObject = (FileCacheObject) fileObj;
      // 缓存未过期才能获取对象
      if (!fcObject.isCacheExpire()) {
        fileStorageObject = fcObject.getStorageObject();
      }
    }

    // 如果不存在或已过期则删除
    if (null == fileStorageObject) {
      file.delete();
    }

    return fileStorageObject;
  }