关闭

Lucene用到的oscache,记录下来

标签: lucenespring mvcstruts2java
407人阅读 评论(0) 收藏 举报

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




}

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:98764次
    • 积分:2974
    • 等级:
    • 排名:第11761名
    • 原创:208篇
    • 转载:14篇
    • 译文:0篇
    • 评论:5条
    最新评论