Lucene用到的oscache,记录下来
操作缓存类
package com.jq.util;
import java.util.Date; import com.opensymphony.oscache.base.CacheEntry; import com.opensymphony.oscache.base.EntryRefreshPolicy; import com.opensymphony.oscache.base.NeedsRefreshException; import com.opensymphony.oscache.general.GeneralCacheAdministrator; /** * @author */ public class BaseCache extends GeneralCacheAdministrator { // 过期时间(单位为秒);private int refreshPeriod;// 关键字前缀字符;private String keyPrefix;private static final long serialVersionUID = -5437192926052145345L;public BaseCache(String keyPrefix, int refreshPeriod) { super();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);}/*** 删除所有被缓存的对象;*/public void removeAll(Date date) { this.flushAll(date);}public void removeAll() { this.flushAll();}/*** 获取被缓存的对象;*/public Object get(String key) throws Exception { try { return this.getFromCache(this.keyPrefix + "_" + key,this.refreshPeriod);} catch (NeedsRefreshException e) { this.cancelUpdate(this.keyPrefix + "_" + key);return null;}}/*** * @param key* @param refreshPeriod* @return 被缓存的对象* @throws Exception*/public Object get(String key, int refreshPeriod) throws Exception { try { return this.getFromCache(this.keyPrefix + "_" + key, refreshPeriod);} catch (NeedsRefreshException e) { this.cancelUpdate(this.keyPrefix + "_" + key);return null;}} }lucene 操作oscache
package com.jq.util;
public class LuceneCache { private static BaseCache luceneCache = null;private static String keyPrefix = "lucenecache";public static int times = 5;//单位秒public static BaseCache getInstance() { if (luceneCache == null) { luceneCache = new BaseCache(keyPrefix, times);}return luceneCache;}public static void main(String[] args) { luceneCache = getInstance();luceneCache.put("nihao", "你好");try { System.out.println(luceneCache.get("nihao"));Thread.sleep(4000);System.out.println(luceneCache.get("nihao"));System.out.println(luceneCache.get("1"));} catch (Exception e) { e.printStackTrace();}} }