`

结合ehcache缓存对lucene使用单例模式搜索

阅读更多


我采用和ehcache缓存结合使用单例模式 ,其实就是给indexsearcher加了个缓存
使用ehcache在内存中设置一个缓存,时间为10分钟。
当IndexSearcher对象不存在时,创建静态对象同时在缓存中写入一个值,表示对象已经存在了.
搜索时如果缓存过期,则重新创建IndexSearcher

public class MySearcher {
	private IndexSearcher searcher = null;
	private static MySearcher mySearcher = null;
	public static MySearcher getInstance() throws IOException{
		CacheManager manager = CacheManager.getInstance(); 
		net.sf.ehcache.Cache cache = manager.getCache("seacher_cache");
		String seacherKey = "Searcher_Id";
		net.sf.ehcache.Element searchElement = cache.get(seacherKey); 
        if (mySearcher==null || searchElement==null){
          mySearcher = new MySearcher();
        	searchElement = new net.sf.ehcache.Element(seacherKey,1); 
    		cache.put(searchElement);
    		
        }
        return mySearcher;
    }
    public MySearcher() throws IOException{
		this.searcher = new IndexSearcher("d:/index");
    }
}
 


 

分享到:
评论

相关推荐

    cache/ehcache缓存使用

    本文将详细讲解"cache/ehcache缓存使用"的相关知识点,包括缓存的基本概念、Ehcache的介绍、以及如何在Java应用中使用Ehcache进行缓存操作。 首先,我们要理解什么是缓存。缓存是一种存储技术,它临时存储常用或...

    EHCache缓存技术介绍

    在数据持久层,特别是与Hibernate结合使用时,缓存扮演着关键角色。Hibernate的缓存主要分为一级缓存和二级缓存。一级缓存,即内部缓存,与Session生命周期绑定,每个Session都有自己的内部缓存,用于存储在该...

    Ehcache缓存

    Ehcache是一种广泛使用的开源Java分布式缓存系统,它为高性能应用程序提供了内存存储和缓存解决方案。在Java世界中,尤其是在持久化框架如Hibernate的使用中,Ehcache扮演了至关重要的角色。由于数据库查询通常会...

    mybatis添加ehcache缓存支持

    为了提高性能和减少对数据库的直接访问,MyBatis 提供了缓存功能,而Ehcache 是一个广泛使用的开源Java缓存库,可以集成到MyBatis 中以实现高效的缓存管理。 在MyBatis 中添加Ehcache 缓存支持,首先需要确保项目...

    Ehcache分布式缓存与其在SpringBoot应用

    在分布式环境中,Ehcache通过使用JGROUP来实现分布式缓存。JGROUP是一个用于构建可靠集群通信的库,可以提供组成员资格、故障检测、传输协议等多种功能,使得Ehcache能够在多个节点之间共享和同步缓存数据。Ehcache...

    ehcache缓存配置详解

    ehcache 缓存配置详解 Ehcache 是一个流行的 Java 缓存框架,提供了强大的缓存机制,帮助开发者提高应用程序的性能和可扩展性。 Ehcache 的配置主要包括 diskstore、defaultCache、cache 三个部分,这三个部分的...

    EHCache缓存的说明和测试

    EHCache缓存的说明文档是到处找来的内容,都有参考链接指向原地址。有三个测试项目也在里面:一个整合了Struts2或Hibernate,一个整合了MyBatis3,这两个是我做的;另一个ehcachetest是下载了別人的。

    Spring Boot的EhCache缓存使用.docx

    在Spring Boot的主配置类上添加`@EnableCaching`注解,并通过`spring.cache.type=ehcache`属性指定使用EhCache作为缓存提供者。 4. **更新配置**: 如果有自定义的`CacheManager`配置,需要在配置类中添加`@...

    Spring 与Ehcache实现基于方法的缓存

    Ehcache则是一款广泛使用的开源缓存解决方案,用于提高应用程序性能,减少数据库负载。本篇文章将详细探讨如何在Spring框架中集成并实现基于方法的缓存机制,利用Ehcache来优化数据访问。 首先,我们需要理解Spring...

    javaWeb中Ehcache缓存配置说明

    通过上述对Ehcache缓存配置的深入解析,我们可以看到,合理配置Ehcache不仅可以显著提升JavaWeb应用的性能,还能有效管理资源,避免不必要的系统负担。掌握这些关键配置项的含义及用法,对于优化应用、提升用户体验...

    EHcache缓存框架

    2. **缓存元素**:在EHcache中,数据是以键值对的形式存储的,称为`Cache Elements`。每个元素都有一个唯一的键和对应的值。 3. **缓存区域(Cache Regions)**:缓存可以被划分为不同的区域,每个区域有自己的配置...

    借助Ehcache缓存框架实现对页面的缓存Demo

    本工程用于研究如何借助Ehcache缓存框架实现对页面的缓存 本工程编码方式:UTF-8 本工程开发工具:MyEclipse 说明: 1、ehcache.xml和ehcache.xsd两个文件可以在下在下载下来的名为“ehcache-core-x.x.x-...

    ehcache 缓存

    **Ehcache缓存系统详解** Ehcache是一款开源、高性能、轻量级的Java缓存框架,广泛应用于各种Java应用程序中,以...通过对缓存的配置、使用、策略及分布式特性的理解,开发者可以更好地利用Ehcache来提升系统效率。

    ehcache项目缓存技术

    Ehcache提供了一个简单易用的API,允许开发者轻松地在应用中集成缓存功能,从而减少对数据库的依赖,提高系统性能。 二、缓存原理与优势 缓存的基本原理是将常用但计算或获取成本较高的数据存储在内存中,以便快速...

    ehcache缓存的jar包和配置文件

    Ehcache是一个流行的Java缓存库,用于在应用程序中存储数据,以提高性能并减少对数据库的访问。它被广泛应用于各种系统,特别是在处理大量数据和需要快速响应时间的应用中。下面将详细介绍Ehcache的核心概念、配置...

    ehcache页面缓存技术

    ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache...

    ehcache缓存依赖的jar

    Ehcache还支持与Spring框架的集成,如果你的应用程序使用了Spring,那么可能还需要`spring-context-support.jar`,它包含了Spring对缓存抽象的支持,允许你在Spring配置中声明和管理Ehcache实例。此外,如果你需要...

    springboot整合Ehcache组件,轻量级缓存管理

    二级缓存:是SessionFactory对象缓存,可以被创建出的多个 Session 对象共享,二级缓存默认是关闭的,如果要使用需要手动开启,并且依赖EhCache组件。 三级缓存:查询缓存,配置开启该缓存的情况下,重复使用一个...

    Spring Boot 2.x的EhCache缓存的使用问题详解.docx

    在本文中,我们将深入探讨如何在Spring Boot环境中配置和使用EhCache进行缓存。 首先,Spring Boot自动配置缓存管理器时会按照特定的顺序检测可用的缓存提供商。默认情况下,它会尝试找到以下缓存实现:Generic、...

    Spring Boot 2.x基础教程:使用EhCache缓存集群.docx

    在Spring Boot 2.x应用程序中,EhCache是一种常用的缓存解决方案,用于提高应用程序性能,减少对数据库的访问。然而,当我们的应用被部署在分布式环境中,即多个进程同时运行时,缓存的一致性问题变得至关重要。为了...

Global site tag (gtag.js) - Google Analytics