hiberate的缓存有3种 1.一级缓存session 2.二级缓存 3.查询缓存
首先将ehcache.xml放入到项目根目录中
spring_cfg.xml中配置
<!-- 开启二级缓存 -->
<prop key="hibernate.cache.use_second_level_cache">net.sf.ehcache.hibernate.EhCacheProvider}</prop>
<prop key="hibernate.cache.provider_class">true</prop>
<!-- 开启二级缓存的查询缓存 -->
<prop key="hibernate.cache.use_query_cache">true</prop>
<!-- Ehcache的配置文件路径-->
<prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>
在实体bean中用注解配置
@Entity
@Table(name = "Bsp_areaattachment_table")
//配置缓存的读写,一般使用两种READ_ONLY和READ_WRITE
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class BspProjectAreaAttachment implements Serializable {
}
在Session中设置
session.setCacheable(true)则查询的时候使用缓存
缓存算法
1:LRU LFU FIFO
LRU:按最近很少使用的对象来算,则拿走该对象,这个是有一个时间标识的
LFU:按命中率的高低来算,也就是按最少使用的对象来算,则移走
FIFO:数组,最后将0推走
分享到:
相关推荐
- 配置Ehcache XML文件,定义缓存策略、大小等。 - 在Spring配置文件中声明Ehcache管理器。 - 在需要缓存的方法上添加`@Cacheable`、`@CacheEvict`等注解,实现方法级缓存。 4. 各级缓存: - 方法级缓存:使用`...
缓存是一种存储技术,它将频繁使用或近期可能需要的数据临时存储在...对于IT专业人士而言,理解缓存的工作原理,熟悉不同缓存算法的适用场景,以及掌握相关缓存框架的使用和配置,对于设计和优化高性能系统至关重要。
1. **Ehcache**:一个广泛使用的开源缓存解决方案,支持本地缓存和分布式缓存,提供了丰富的API和配置选项。 2. **Redis**:一个内存数据结构存储系统,可用作数据库、缓存和消息中间件,具有高性能和丰富的数据结构...
- **代码配置**:也可通过Java代码动态配置和管理缓存,灵活调整缓存设置。 4. **EhCache的使用** - **添加缓存**:通过`CacheManager`获取缓存实例,然后调用`put`方法添加元素。 - **检索缓存**:使用`get`...
通过在`spring-config.xml`中配置`<bean>`和`<ehcache:cacheManager>`标签,即可启用ehcache缓存服务,并通过`@Cacheable`、`@CachePut`、`@CacheEvict`等注解实现方法级别的缓存控制。 **5. 分布式缓存集群配置:*...
- 在`ehcache.xml`中配置页面缓存的规则,如缓存时间、压缩格式等。 - 例如: ```xml <filter name="SimplePageCachingFilter" class="net.sf.ehcache.web.filter.SimplePageCachingFilter"> ...
- **配置文件**:Ehcache使用XML配置文件进行设置,包括缓存大小、过期策略、缓存区域等。 - **初始化缓存**:在应用启动时,通过Ehcache API创建并初始化缓存实例。 4. **Ehcache配置** - **创建缓存区域**:...
1. **初始化Ehcache**:通过`CacheManager`创建并配置缓存实例,定义缓存名称、大小、过期策略等。 2. **缓存操作接口**:提供`get`、`put`、`remove`等方法,方便业务代码存取缓存数据。 3. **更新器(Updaters)**...
3. **缓存过期**:EhCache允许设置缓存项的生命周期,可以基于时间或访问次数进行过期。过期策略的实现通常涉及到定时任务和弱引用。 4. **磁盘缓存**:除了内存缓存,EhCache还支持将数据持久化到磁盘,以防止内存...
8. **缓存分区**:通过设置分区,可以在多个缓存实例间分配数据,提高并发性能和资源利用率。 在源码分析中,我们可以看到Ehcache的实现细节,包括: 1. **CacheManager**:管理所有缓存实例,负责创建、销毁、配置...
校友录网站。基于javaWeb,由Maven构建管理,采用Spring+SpringMVC+MyBatis框架,用EhCache做数据缓存。门户网站采用BootStrap设计界面,后台管理网站用AmazeUI设计界面。.zip
5. **缓存过期机制**:Ehcache允许开发者设置缓存项的过期时间,当达到该时间后,缓存项会自动失效。 6. **缓存预热**:预加载功能可以在应用启动时或者在特定条件下预先加载部分或全部缓存,以提高用户体验。 ...
3. **缓存配置**:Ehcache的配置非常简单,可以通过XML或Java API进行设置。用户可以自定义缓存的大小、过期时间、是否启用缓存更新通知等。例如,`<cache>`元素用于定义一个缓存,其中可以包含`maxElementsInMemory...
- **元素配置**:包括缓存名、最大元素数量、内存和磁盘存储设置、缓存更新策略等。 3. **内存管理**: - **LRU(Least Recently Used)策略**:Ehcache默认使用LRU算法,当内存缓存满时,会移除最近最少使用的...
11. **缓存生命周期管理**:Ehcache允许开发者定义缓存的生命周期,例如设置缓存的启动、停止、加载和卸载行为。 12. **缓存副本**:Ehcache支持创建缓存副本,可以在多个节点之间同步,增强数据一致性。 13. **...
当缓存项放入内存时,如果内存满,Ehcache 将使用LRU(Least Recently Used)算法将最近最少使用的元素移出。同时,Ehcache 还可以将缓存数据持久化到磁盘,以防止系统重启后数据丢失。 Ehcache 支持缓存分区,可以...
1. **内存管理**:Ehcache能够自动管理缓存中的对象,当内存达到预设限制时,会通过LRU(Least Recently Used)算法淘汰最近最少使用的条目。 2. **磁盘存储**:除了内存缓存,Ehcache还可以将数据持久化到硬盘,以...
在Mapper XML文件中配置EHCache缓存类型: ```xml <cache type="org.mybatis.ehcache.EhcacheCache"/> ``` 如果需要记录缓存操作的日志,可以使用带日志功能的缓存版本: ```xml <cache type="org.mybatis....
1. **XML 配置**:使用 XML 文件来定义缓存配置是最常见的方法,它支持丰富的选项设置。 2. **程序化配置**:通过 Java API 来动态创建和配置缓存实例,适用于需要更灵活控制的情况。 3. **默认配置**:为每个缓存...
1. **配置**:可以通过XML配置文件或编程方式进行配置,设置缓存大小、过期策略、缓存管理器等。 2. **API使用**:EhCache提供了简单易用的API,包括`put()`, `get()`, `remove()`等方法来操作缓存。 3. **集成**...