EHCache-failsafe.xml配置
?
?
?
?
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, 设置设置多长的线程间隔有效
?
??????????