Lucene用到的oscache,记录下来

简介:

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




}




      本文转自yjflinchong 51CTO博客,原文链接:http://blog.51cto.com/yjflinchong/1164956,如需转载请自行联系原作者



相关文章
|
缓存 Java 索引
Solr&Lucene cache简要汇总
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。本文汇总Solr Lucene cache相关内容。撇开系统结构、架构这些整体性的分析,纯粹从使用方面做梳理。
185 0
Solr&Lucene cache简要汇总
|
存储 SQL 编解码
Solr-lucene 使用案例大全
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。 本文sole lucene的使用案例汇总。
190 0
|
存储 Apache 索引
Lucene就是这么简单(二)
Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎,Lucene在全文检索领域是一个经典的祖先,现在很多检索引擎都是在其基础上创建的,思想是相通的。
103 0
Lucene就是这么简单(二)
|
SQL 自然语言处理 算法
Lucene就是这么简单(三)
Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎,Lucene在全文检索领域是一个经典的祖先,现在很多检索引擎都是在其基础上创建的,思想是相通的。
117 0
Lucene就是这么简单(三)
|
SQL 数据采集 自然语言处理
Lucene就是这么简单(一)
Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎,Lucene在全文检索领域是一个经典的祖先,现在很多检索引擎都是在其基础上创建的,思想是相通的。
133 0
Lucene就是这么简单(一)
|
索引
lucene学习笔记
lucene学习笔记
123 0
|
开发框架 Java Apache
Lucene|学习笔记
快速学习 Lucene
|
Java Apache 索引
Lucene实现全文检索技术(包含SpringBoot整合Lucene 7.6.0 )
Lucene实现全文检索的流程 ① 绿色表示索引过程,对要搜索的原始内容进行索引构建一个索引库,索引过程包括: 确定原始内容即要搜索的内容à采集文档à创建文档à分析文档à索引文档 ② 红色表示搜索过程,从索引库中搜索内容,搜索过程...
3718 0
|
SQL 自然语言处理 算法
Lucene就是这么简单
什么是Lucene?? Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎,Lucene在全文检索领域是一个经典的祖先,现在很多检索引擎都是在其基础上创建的,思想是相通的。
1233 0

热门文章

最新文章