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官方教程知识点概述 #### 一、简介(Introduction) Ehcache 是一款广泛使用的开源 Java 缓存解决方案,自 2003 ...通过学习这些知识点,开发者可以更加熟练地使用 Ehcache,提高应用程序的性能和稳定性。
Ehcache是一款广泛使用的开源Java缓存系统,自2003年10月首次发布以来,不断发展壮大。随着用户的增加,Ehcache逐渐增加了许多被频繁请求的功能,使其功能更加完善。目前,Ehcache已应用于多个领域,包括Hibernate...
<plugin interceptor="org.mybatis.caching.ehcache.EhcachePlugin"> <property name="configLocation" value="classpath:ehcache.xml"/> ... ``` 在上述配置中,`configLocation`指向了Ehcache的配置文件...
《Hibernate3.3_学习笔记》是一份详细记录了Hibernate3.3版本特性和使用方法的文档,旨在帮助开发者深入理解和应用这一强大的对象关系映射(ORM)框架。Hibernate是Java开发中的一个明星库,它简化了数据库操作,...
<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 5.3.12.Final:持久...通过深入学习和实践"hibernate-release-5.3.12.Final"提供的资源,开发者不仅能掌握Hibernate的基本用法,还能进一步理解其内部机制,从而在实际项目中更好地运用这一强大的ORM工具。
一级缓存是Session级别的,而二级缓存则可以在SessionFactory级别共享,可以使用第三方缓存提供商,如Ehcache。 12. **事务管理(Transaction Management)** Hibernate 支持编程式和声明式事务管理。编程式事务...
常用实现包括Ehcache和Infinispan。 **9. Transactions and Transactions Management** Hibernate支持JTA和JPA的事务管理方式,确保数据库操作的原子性和一致性。 **10. Caching Strategies** Hibernate提供了不同...
【Hibernate_CODE】是一个针对初学者和进阶者的Hibernate教学资源包,其中包含了丰富的代码示例,旨在帮助用户更好地理解和掌握Hibernate这一强大的Java持久化框架。Hibernate是一个对象关系映射(ORM)工具,它允许...
7. Caching:讨论Hibernate的缓存机制,包括一级缓存和二级缓存,以及如何配置和使用第三方缓存如Ehcache。 8. Transactions与Transactions API:介绍Hibernate中的事务管理,如何启动、提交、回滚事务,以及与...
5. **Caching**: 为了提高性能,Hibernate 3.2引入了缓存机制,如一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的缓存)。二级缓存可以集成第三方缓存系统,如Ehcache。 6. **Mappings**: ...
- Caching:合理使用缓存,减少数据库访问次数。 - Connection Pool:配置连接池,如C3P0或Apache DBCP,有效管理数据库连接。 8. **其他特性** - Callback事件:如@PrePersist、@PostLoad等,允许在特定操作...
4. Caching:缓存机制提升性能,一级缓存是SessionFactory级别的,二级缓存可以是第三方插件如EhCache。 四、源码深度剖析 1. SessionImpl:Session的实现类,包含打开、关闭、flush和commit等关键方法。 2. ...
9. **Caching**:Hibernate支持二级缓存,可以使用第三方缓存如 EhCache 提高性能。 10. **事务处理**:Hibernate支持JTA和JDBC两种事务处理方式,保证数据的一致性和完整性。 11. **关联映射**:包括一对一、一对...
4. **Caching**:支持二级缓存,提高数据访问速度,如使用Ehcache。 5. **Transactions管理**:提供事务处理,确保数据一致性。 **Struts 2.2**: Struts 2是一个基于MVC设计模式的Web应用框架,用于构建可维护、可...
9. **Caching缓存**:Hibernate支持二级缓存,可以集成第三方缓存系统,如 Ehcache,以进一步提升性能。 10. **Callback事件**:Hibernate允许在对象生命周期中的特定时刻(如加载、保存、更新和删除)注册回调方法...
9. **Caching缓存**:Hibernate支持二级缓存,可以通过集成第三方缓存服务(如Ehcache)来提高性能,减少对数据库的访问。 10. **事件和监听器**:Hibernate允许注册监听器来监听对象生命周期的各个阶段,如加载、...
9. **Caching**:为了提高性能,Hibernate支持二级缓存,通过插件如EhCache,可以将常用数据缓存在内存中。 10. **Event Listeners and Interceptors**:这些允许开发者在特定事件(如对象加载、保存、更新或删除)...
Hibernate是一款开源的对象关系映射(ORM)框架,它...`hibernate-3.2.6`版本虽然较老,但其基本原理和核心功能与现代版本并无太大差异,学习它有助于深入理解ORM的工作原理,为使用新版本或其他ORM框架打下坚实基础。
10. **关联映射**:一对一、一对多、多对一、多对多等不同关系的映射配置和操作示例。 11. **延迟加载Lazy Loading**:Hibernate的懒加载机制,只在真正需要时加载关联的对象,以提高性能。 12. **事件监听器**:...