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原创文章,未经博主允许不得转载。

DES3加解密 记录下来方便以后用

package com.datang.common.util; import java.security.Key; import javax.crypto.Cipher; import ...

关于mvc的一些体会,看到这一篇感觉领悟到了,所以记录下来

MVC MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。  视图 :视...

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

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

变量和链表透彻的解释,禁不住记录下来

p=p->next 到底表达了什么意思? ->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一...

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

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

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

在网上找的一个Flex文件上传代码,记录下来,以后用到的时候可以马上能用: 1. Flex 前端代码 [java] view plaincopyprint? "1.0" enco...
  • sjz168
  • sjz168
  • 2012年02月09日 10:17
  • 541

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

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

搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。

说明:本文分为三部分内容,     第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 ----------------...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Lucene用到的oscache,记录下来
举报原因:
原因补充:

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