`

Ehcache学习一:JDBC caching

 
阅读更多

Ehcache很容易加入到已经使用的JDBC代码中,一般在两种情况下使用Ehcache:

 1、通过ID获取一个实体
 2、一些可以接受不一致性的查询。

 

其使用方式非常简单:

	public ProductInfo selOneProduct(String id) throws SQLException {
		// 先在cache中查找相关信息
		ProductInfo productinfo=null;
		String cacheName = "BYSJProductInfo";
		//第一步:以单例的方式创建CacheManager,默认调用JAR包中的ehcache-failsafe.xml配置文件
		CacheManager cacheManager = CacheManager.create();
		//第二步:根据cache名称获取Ehcache,如果在ehcache-failsafe.xml已经配置这个名称的Ehcache,则可以获取到,
		//如果没有配置,也可以new一个Ehcache,当然一般在代码中是通过配置的方式写的。
		Ehcache cache = cacheManager.getEhcache(cacheName);
		if (cache == null) {
			cache = new Cache(cacheName, 100, true, false, 120, 120);
			cacheManager.addCache(cache);
		}
 /*
		 * 第三步:根据key获取Ehcache中的存储的Element.
		 * 第四步:通过Element得到你要的value.
		 * element.getValue():只有productinfo对象实现了串行化接口才可以使用getValue(),一般都使用getObjectValue()
		*/

		Element element = cache.get(id);
				if (element != null) {
			productinfo = (ProductInfo) element.getObjectValue();
		}
		if (productinfo == null) {
			System.out.println("从数据库中查找");
                                               ..........
// 取商品信息结束
			if (productinfo != null) {
				cache.put(new Element(id, productinfo));
			}
		}
		return productinfo;

	}

上面这个例子是最plain的一个例子,在项目中是不会这样写的,但是最简单的越容易理解。

我们可以看到,Ehcache分三级来管理,CacheManager -->Ehcache-->Element

CacheManager 可以使用单例模式来构建,也可以new.

Ehcache 是在配置文件中可以配置,有一个name来唯一标识。

Element:存储一条条实际的数据。

 

分享到:
评论

相关推荐

    ehcache官方教程

    ### Ehcache官方教程知识点概述 #### 一、简介(Introduction) Ehcache 是一款广泛使用的开源 Java 缓存解决方案,自 2003 ...通过学习这些知识点,开发者可以更加熟练地使用 Ehcache,提高应用程序的性能和稳定性。

    EhcacheUserGuide

    Ehcache是一款广泛使用的开源Java缓存系统,自2003年10月首次发布以来,不断发展壮大。随着用户的增加,Ehcache逐渐增加了许多被频繁请求的功能,使其功能更加完善。目前,Ehcache已应用于多个领域,包括Hibernate...

    mybaits所需要的jar包

    <plugin interceptor="org.mybatis.caching.ehcache.EhcachePlugin"> <property name="configLocation" value="classpath:ehcache.xml"/> ... ``` 在上述配置中,`configLocation`指向了Ehcache的配置文件...

    Hibernate3.3_学习笔记.doc.zip

    《Hibernate3.3_学习笔记》是一份详细记录了Hibernate3.3版本特性和使用方法的文档,旨在帮助开发者深入理解和应用这一强大的对象关系映射(ORM)框架。Hibernate是Java开发中的一个明星库,它简化了数据库操作,...

    hibernate学习书册

    <property name="cache.provider_class">org.hibernate.cache.ehcache.EhCacheProvider <property name="cache.use_second_level_cache">true <property name="cache.use_query_cache">true ``` #### 六、性能...

    hibernate-release-5.3.12.Final.zip

    《Hibernate 5.3.12.Final:持久...通过深入学习和实践"hibernate-release-5.3.12.Final"提供的资源,开发者不仅能掌握Hibernate的基本用法,还能进一步理解其内部机制,从而在实际项目中更好地运用这一强大的ORM工具。

    hibernate学习

    一级缓存是Session级别的,而二级缓存则可以在SessionFactory级别共享,可以使用第三方缓存提供商,如Ehcache。 12. **事务管理(Transaction Management)** Hibernate 支持编程式和声明式事务管理。编程式事务...

    Hibernate学习资料

    常用实现包括Ehcache和Infinispan。 **9. Transactions and Transactions Management** Hibernate支持JTA和JPA的事务管理方式,确保数据库操作的原子性和一致性。 **10. Caching Strategies** Hibernate提供了不同...

    Hibernate_CODE

    【Hibernate_CODE】是一个针对初学者和进阶者的Hibernate教学资源包,其中包含了丰富的代码示例,旨在帮助用户更好地理解和掌握Hibernate这一强大的Java持久化框架。Hibernate是一个对象关系映射(ORM)工具,它允许...

    Hibernate电子书.rar

    7. Caching:讨论Hibernate的缓存机制,包括一级缓存和二级缓存,以及如何配置和使用第三方缓存如Ehcache。 8. Transactions与Transactions API:介绍Hibernate中的事务管理,如何启动、提交、回滚事务,以及与...

    hibernate3.2 api和配置文档

    5. **Caching**: 为了提高性能,Hibernate 3.2引入了缓存机制,如一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的缓存)。二级缓存可以集成第三方缓存系统,如Ehcache。 6. **Mappings**: ...

    Hibernate培训教程.doc

    - Caching:合理使用缓存,减少数据库访问次数。 - Connection Pool:配置连接池,如C3P0或Apache DBCP,有效管理数据库连接。 8. **其他特性** - Callback事件:如@PrePersist、@PostLoad等,允许在特定操作...

    Hibernate 3.6 Final Source Code

    4. Caching:缓存机制提升性能,一级缓存是SessionFactory级别的,二级缓存可以是第三方插件如EhCache。 四、源码深度剖析 1. SessionImpl:Session的实现类,包含打开、关闭、flush和commit等关键方法。 2. ...

    hibernate-distribution中文帮助手册

    9. **Caching**:Hibernate支持二级缓存,可以使用第三方缓存如 EhCache 提高性能。 10. **事务处理**:Hibernate支持JTA和JDBC两种事务处理方式,保证数据的一致性和完整性。 11. **关联映射**:包括一对一、一对...

    hibernate3.4.jar struts2.2 spring.jar总.jar

    4. **Caching**:支持二级缓存,提高数据访问速度,如使用Ehcache。 5. **Transactions管理**:提供事务处理,确保数据一致性。 **Struts 2.2**: Struts 2是一个基于MVC设计模式的Web应用框架,用于构建可维护、可...

    hibernate_3.2官方开发包

    9. **Caching缓存**:Hibernate支持二级缓存,可以集成第三方缓存系统,如 Ehcache,以进一步提升性能。 10. **Callback事件**:Hibernate允许在对象生命周期中的特定时刻(如加载、保存、更新和删除)注册回调方法...

    Hibernate 4.1.1中文文档

    9. **Caching缓存**:Hibernate支持二级缓存,可以通过集成第三方缓存服务(如Ehcache)来提高性能,减少对数据库的访问。 10. **事件和监听器**:Hibernate允许注册监听器来监听对象生命周期的各个阶段,如加载、...

    hibernate源代码

    9. **Caching**:为了提高性能,Hibernate支持二级缓存,通过插件如EhCache,可以将常用数据缓存在内存中。 10. **Event Listeners and Interceptors**:这些允许开发者在特定事件(如对象加载、保存、更新或删除)...

    Hibernate架包hibernate-3.2.6

    Hibernate是一款开源的对象关系映射(ORM)框架,它...`hibernate-3.2.6`版本虽然较老,但其基本原理和核心功能与现代版本并无太大差异,学习它有助于深入理解ORM的工作原理,为使用新版本或其他ORM框架打下坚实基础。

    《hibernate逍遥游记》附属光盘之源码

    10. **关联映射**:一对一、一对多、多对一、多对多等不同关系的映射配置和操作示例。 11. **延迟加载Lazy Loading**:Hibernate的懒加载机制,只在真正需要时加载关联的对象,以提高性能。 12. **事件监听器**:...

Global site tag (gtag.js) - Google Analytics