Lucene用到的oscache,记录下来

原创 2015年07月11日 07:22:09

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




}

版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载。

相关文章推荐

Markdown 语法 - 记录下来,免得忘记了

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

在网上找的一个Flex文件上传代码,记录下来,以后用到的时候可以马上能用:

在网上找的一个Flex文件上传代码,记录下来,以后用到的时候可以马上能用: 1. Flex 前端代码 [java] view plaincopyprint? "1.0" enco...

MySQL的Grant命令 — 这个比较全,比较细致,记录下来,以备后用

[MySQL] - MySQL的Grant命令 来源:http://yingxiong.javaeye.com/blog/451208   本文实例,运行于 MySQL 5.0 及以上版本。 ...

Eclipse IDE 使用技巧 (Eclipse工作空间小技巧)(自己的一些学习笔记和心得,记录下来,备忘录和复习使用)

很多人觉得Eclipse不就是个开发工具吗,有什么好讲的啊,其实这种想法是错误的,Eclipse IDE集成开发环境里面有很多的玄机,有很多的技巧和设置,是很多4-5年的java程序员都不常应用到的甚...
  • czh500
  • czh500
  • 2016-06-15 16:35
  • 1423

解决IE6、IE7、IE8、Firefox CSS兼容性的 Hack 写法【记录下来,以后可以使用】

解决IE6、IE7、IE8、Firefox CSS兼容性的 Hack 写法 2010-08-11 15:28 每次调CSS最令人头痛的就是浏览器校正问题,因为每个浏览器对CSS的解...
  • Vange
  • Vange
  • 2011-09-23 22:59
  • 1800

用编程的方式将当前服务器上SQL SERVER中正执行的所有T-SQL语句记录下来

标题所描述的功能是简单的,下面的例子也很简单,但是你可以根据自己的需要进行扩充功能,我这里只是抛砖引玉而以,呵呵……,其实你有时间可以自己做一个SQL Server Profiler玩一玩。支持Sql...

北理工java的试卷总结,我做了一下,发现也有许多以前没有理解的地方,现在再次记录下来

原文 http://blog.csdn.net/bitfan/article/details/7058564 题目比较典型的   经验总结: 1我们可以使用ANT工具创建一个可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)