`
zy116494718
  • 浏览: 477809 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

EhCache应用之单独使用

 
阅读更多

    EhCache其实底层的实现就是static方法,我声名一个变量为static,实际上就把这个变量放在了缓存中,只不过EhCahce等缓存框架是封装了一层,提供了一些实用的方法并且可以进行一些配置。

     下面介绍一个简单的实用EhCache的例子。

     代码分成4个部分。

 

public class TestMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		EhcacheUtil eUtil = new EhcacheUtil();
		String one = eUtil.getPrame("1");
		
		System.out.println(one);
		

	}

}

 

 

public class EhcacheUtil {

	private Cache cache ;
	
	private void loadPrame(){
		try {
			CacheManager cm = CacheManager.create("src/com/x/ehcache.xml");
			
//			cache = new Cache("b", 5000, false, false, 5, 2);
//			cm.addCache(cache);
//			cache = cm.getCache("b");
			
			cache = cm.getCache("a");
			
			PrameUtil pUtil = new PrameUtil();
			
			for(int i=1;i<6;i++){
				cache.put(new Element(String.valueOf(i),pUtil.getPrame(String.valueOf(i))));
			}
			
		} catch (IllegalStateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (CacheException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
	
	
	public String getPrame(String key){
		String value = "";
		try {
			if(cache == null){loadPrame();}
			Element el = cache.get((String)key);
			if(el == null){loadPrame();el = cache.get((String)key);}
			if(el == null){System.out.println("没有");}
			else{value = el.getValue().toString();}
		} catch (IllegalStateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (CacheException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return value;
	}
}
 

 

public class PrameUtil {

	public String getPrame(String key){
		String value = "";
		
		InputStream is = this.getClass().getClassLoader().getResourceAsStream("com/p/p.properties");
		Properties p = new Properties();
		try {
			p.load(is);
			value = p.getProperty(key);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		return value;
	}
}
 

    ehcache.xml:

 

 

<ehcache>
	<defaultCache 
	maxElementsInMemory="1000" 
	eternal="true" 
	timeToIdleSeconds="3600" 
	timeToLiveSeconds="3600" 
	overflowToDisk="true" 
	/>
	<cache name="a" 
	maxElementsInMemory="1000" 
	eternal="true" 
	timeToIdleSeconds="3600" 
	timeToLiveSeconds="3600" 
	overflowToDisk="false"
	/>
</ehcache>

 

     执行结果,输出“a"

分享到:
评论

相关推荐

    ehcache学习文档

    - **XML配置**:是最常用的方式之一,通过`ehcache.xml`文件来定义缓存规则。 - **程序内配置**:适用于动态调整缓存设置的情况,可以在运行时更改配置。 ##### 4.1 Ehcache的类层次模型 - **核心类**:`...

    EHCache技术文档详解.doc

    本技术文档旨在为开发者提供全面的EHCache理解和使用指南,帮助他们有效地集成和管理缓存,提升应用性能,减少数据库压力。 20.2 文档范围 本文档覆盖了EHCache的基本原理、配置方法、API使用、缓存策略以及与其他...

    Ehcache User Guide 1.5

    Ehcache 1.5作为一款强大的缓存解决方案,不仅适用于单独使用,还特别适合与Hibernate集成,优化ORM操作的性能。其分布式缓存功能在多节点环境中尤为有用,可以提升整个系统的响应速度和可扩展性。理解和熟练运用...

    EHCache技术的相关文档

    为了在Java项目中单独使用EHCache,开发者需要按照以下步骤操作: 1. **导入EHCache库**:将EHCache的jar文件加入到项目中。 2. **配置ehcache.xml**:根据需求自定义缓存区域的配置。 3. **初始化CacheManager**:...

    EHCache详解_技术文档

    ### EHCache详解 #### 一、EHCache简介与特点 **1.1 背景** 随着现代软件系统的复杂度不断提高,对数据处理速度的要求也...特别是对于需要支持高并发请求的应用场景,合理地配置和使用EHCache将带来显著的性能提升。

    ehcache介绍与说明.docx

    它可以单独使用,也可以与Hibernate对象/关系映射框架集成,甚至可以作为Servlet缓存。Ehcache的存储方式分为内存和磁盘两层,因此即使内存满载,数据也能持久化到磁盘,避免了容量限制的问题。在虚拟机重启时,缓存...

    ehcache缓存的配置

    3. **`&lt;defaultCache&gt;` 标签**:用于配置默认的缓存行为,当没有为特定缓存配置单独的 `&lt;cache&gt;` 元素时,会使用这些默认值。 - `maxElementsInMemory`:内存中最大元素数量,默认为 `10000`。 - `eternal`:是否...

    Ehcache缓存配置

    如果未找到`ehcache.xml`文件,则会自动使用`ehcache-failsafe.xml`作为默认配置文件,该文件通常包含最基本的设置以确保Ehcache能够正常启动并工作,但同时也会提示开发者创建一个更完整的配置文件。 ##### 2.1 ...

    EHCache 分布式配置文件

    EHCache 是一个开源的 Java 缓存库,它提供了内存和磁盘缓存的解决方案,广泛应用于提高应用程序性能,尤其是在数据访问层。分布式配置文件是 EHCache 实现多节点共享缓存的关键,允许在分布式环境中存储和检索数据...

    springmvc+mybatis+ehcache+jsp+sitemesh完美运行

    Ehcache是一款广泛使用的Java缓存库,它提供快速、可伸缩的缓存解决方案,适用于内存和磁盘存储。Ehcache可以用于减少数据库负载,提高应用性能,尤其是在频繁读取但更新不频繁的数据场景下。它支持多级缓存策略,...

    JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

    EhCache是一个高性能的、内存级别的缓存框架,能够有效提升应用性能,减少数据库压力。它支持分布式缓存,若需要更高性能或更复杂的缓存策略,可以替换为Redis等其他缓存解决方案。 6. **JCaptcha**: JCaptcha是...

    java cache 简单应用

    3. **Ehcache**:Ehcache是一款广泛使用的开源Java缓存解决方案,支持内存和磁盘存储,具有线程安全、分布式缓存等功能。它可以与Spring框架无缝集成,非常适合大型项目。 4. **JCache (JSR-107)**:Java Caching ...

    开发高效率的J2EE企业应用

    6. **缓存策略**:使用如EHCache或Infinispan等缓存技术,可以将常用数据存储在内存中,减少数据库访问,提高响应速度。同时,需要设计合理的缓存更新策略,避免数据一致性问题。 7. **负载均衡与集群**:通过负载...

    spring缓存

    本文档旨在详细介绍如何在Spring框架中集成和使用EHCache作为缓存解决方案,以提高应用程序性能,并实现跨服务器的集群缓存设计。文档覆盖了从基础概念到高级配置的所有方面,适用于对Java缓存和Spring框架有一定...

    ENCACHE缓存简介

    此外,Ehcache也可独立于这些框架之外单独运行,满足各种不同场景的需求。 在存储策略方面,Ehcache主要分为三种方式:堆内存存储、非堆内存存储和磁盘存储。堆内存存储是最基础的,利用Java虚拟机的堆空间来存放...

    hibernatehibernatehibernate

    使用EhCache还需要创建一个单独的EhCache.xml配置文件,其中定义了缓存的默认行为、缓存策略以及磁盘存储路径等。例如: ```xml &lt;ehcache&gt; timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk=...

    J2Cache.pdf

    Ehcache是一款成熟且广泛使用的Java缓存框架,具有以下特点: - 内存缓存速度快。 - 支持两级缓存(内存 + 磁盘)。 - 多区域缓存数据结构,便于组织和管理缓存数据。 - 提供缓存数据监听接口,便于实时监控缓存...

    HIbernate缓存

    对于每个需要使用二级缓存的实体类,都需要在`ehcache.xml`文件中进行单独配置。例如,配置名为`com.xxx.pojo.Foo`的实体类: ```xml timeToLiveSeconds="7200" timeToIdleSeconds="3600" overflowToDisk="true" ...

    Hibernate查询缓存及实现.PPT

    如果选择Ehcache,还需要提供一个单独的`ehcache.xml`配置文件。在DAO组件中,对Query对象调用`Cacheable`方法并设置为`true`,以确保查询结果被缓存。 综上所述,Hibernate的查询缓存是提升应用性能的关键手段,...

Global site tag (gtag.js) - Google Analytics