Hibernate的Session
在事务级别进行持久化数据的缓存操作。
通过在hibernate.cache.provider_class
属性中指定org.hibernate.cache.CacheProvider
的某个实现的类名,你可以选择让Hibernate使用哪个缓存实现。
------
EHCache支持memory和disk存储。
maxElementsInMemory 配置最大的内存存储对象的数量
eternal 存储的对象是否永久生效,一般设置为false
timeToIdleSeconds="10" 对象失效的间隔时间 (如果10秒内没有访问,则该对象失效)
timeToLiveSeconds="120" 对象的生命周期,此时为120秒(不管对象是否被访问,120s之后该对象失效。即总生命时间。)
overflowToDisk="true" 如果内存数量已满,则是否支持存储到硬盘
memoryStoreEvictionPolicy="LRU" 内存中对象的替换算法
FIFO:先进先出 (没有考虑到访问的次数和访问的时间)
LFU:Least Frequently Used, 最近最不经常使用算法 通过离最近没有被访问的“时间”来确定哪个对象应该被移出
LRU:Least Recently Used,最近最少使用 根据访问的“频率”把访问最少的对象移出。ps:频率相等时按照时间来确定哪个对象被移出。
LRU 和 FIFO 替换算法, 结论: LRU default: 效率比FIFO高。
diskPersistent:false; 是否在磁盘上持久化。指重启jvm后,数据是否有效。默认为false, 集群的时候设置为true
diskExpiryThreadIntervalSeconds: 如果上面设置为true, 设置设置多长的线程间隔有效
相关推荐
ehcache的缓存配置文件
3. **ehcache-failsafe.xml** 这个文件是Ehcache的默认配置文件,它包含了缓存的默认设置,如缓存大小、过期策略等。在没有提供自定义配置文件的情况下,Ehcache会使用这个文件进行初始化。用户可以根据自己的需求...
ehcache-failsafe.xml提供了一个简单的默认配置,确保即使没有自定义配置,Ehcache也能运行,但会提示用户创建合适的配置。 以下是一个ehcache.xml配置文件的片段示例: ```xml <ehcache> <diskStore path="java....
如果未找到`ehcache.xml`文件,则会自动使用`ehcache-failsafe.xml`作为默认配置文件,该文件通常包含最基本的设置以确保Ehcache能够正常启动并工作,但同时也会提示开发者创建一个更完整的配置文件。 ##### 2.1 ...
Terracotta提供了丰富的配置选项,包括XML配置、ehcache.xsd、ehcache-failsafe.xml等,用户可以根据应用需求灵活调整。同时,Terracotta也支持动态改变缓存配置,以适应运行时环境的变化。 ##### 存储层级 ...
9. **持久化与备份**:通过`ehcache-failsafe.xml`配置文件,可以设置Ehcache在系统重启后如何恢复缓存状态,保证服务的连续性。 10. **元数据和配置**:`META-INF`目录通常包含Ehcache库的元数据,如版本信息和...
配置完成后,当服务器启动并访问首页时,点击热门商品,由于二级缓存的存在,后台不再执行SQL查询,这是因为默认配置文件`ehcache-failsafe.xml`已经设定了缓存策略。对于session的查询操作,如`get()`和`load()`,...
如果不指定配置文件的位置,它将按照默认规则从 classpath 根目录下查找 `ehcache.xml` 文件,如果找不到则使用 `ehcache-failsafe.xml` 文件。 示例配置如下: ```xml <bean id="cacheManager" class="org.spring...
如果你没有配置文件,可以从官方获取一个基础的`ehcache.xml`或`ehcache-failsafe.xml`,然后根据实际需求进行调整。 运行时配置Ehcache有诸多优势,比如统一管理内存和磁盘消耗,发布时动态调整配置,以及在部署...
- **ehcache-failsafe.xml**:如果未找到 ehcache.xml,则使用该文件作为默认配置。 #### 3.6 编码格式 - **ASCII 编码**:Ehcache 1.6 之前版本使用的编码格式。 - **UTF8 编码**:Ehcache 1.6 及以后版本支持的...