`
mgoann
  • 浏览: 253434 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Ehcache缓存回收策略

 
阅读更多

Ehcache缓存回收策略

简介

 

缓存回收就是当缓存满了的时候,Ehcache会根据指定的策略来清理缓存。这里的缓存回收策略有别与Ehcache中的失效清理策略。失效清理策略是对失效的Element进行批量清理时所采用的策略,最终所有失效的Element都将被清理,只不过是清理的先后顺序不同罢了。Ehcache中缓存的最大Element数是由maxElementsInMemory来指定的。当缓存中的Element个数达到maxElementsInMemory指定的值时,Ehcache会根据具体的策略来清理缓存,默认的策略是LRU(最近最少使用)。

 

磁盘缓存大小默认是没有限制的,不过可通过maxElementsOnDisk来指定。当磁盘缓存达到maxElementsOnDisk指定的值时,Ehcache会清理磁盘中的缓存使用默认策略是LFU(使用频率最低)。

 

MemoryStore回收策略

 

MemoryStore支持三种策略:LRULFUFIFO

分享到:
评论

相关推荐

    Ehcache2缓存区配置详解.pdf

    - **overflowToOffHeap**:仅在使用Ehcache企业版时有效,若设置为true,则缓存将利用非堆内存存储,从而不受Java垃圾回收机制的影响。 这些配置项为Ehcache提供了高度定制化的能力,使开发人员能够根据具体应用...

    ehcache260

    14. **缓存资源管理**:Ehcache具有自动清理和回收资源的能力,以防止内存泄漏。 15. **自定义缓存策略**:Ehcache允许开发者通过实现接口自定义缓存策略,以适应特定的业务需求。 通过了解和熟练运用Ehcache ...

    ehcache官方教程

    此外,可以通过 ehcache.xml 配置文件来定制缓存策略。 2. **快速上手**:官方文档提供了详尽的示例代码,帮助开发者快速理解和使用 Ehcache 的核心功能。 #### 三、依赖关系(Dependencies) 在集成 Ehcache 时...

    Ehcache 2.10.8(bigmemory-max-4.3.8.4.2.tar.gz)

    - 开发者需要将Ehcache库添加到项目依赖中,然后配置缓存策略,如缓存大小、存活时间等。 - 使用Ehcache提供的API来存取缓存,如`CacheManager`和`Cache`接口。 - 对于分布式部署,需配置Terracotta服务器,并在...

    Ehcache 2.10.8 .tar.gz(bigmemory-max-4.3.8.4.2.tar.gz)

    Ehcache 2.x系列是其历史上的一个稳定版本,支持多种缓存策略,包括LRU(Least Recently Used)和LFU(Least Frequently Used)等,用于自动清理不常访问的数据。此外,Ehcache支持分布式缓存,可以在多台服务器之间...

    ehcache资料

    1. **内存管理**:Ehcache 分为堆内缓存和堆外缓存,堆内缓存使用 JVM 堆内存,堆外缓存使用独立的内存区域,可以避免因缓存过大导致的 JVM 垃圾回收问题。 2. **缓存策略**:Ehcache 提供了 LRU(Least Recently ...

    大型分布式系统中的缓存架构

    Guava Cache是Google的开源Java库Guava的一部分,提供了丰富的缓存功能,包括自定义缓存大小、缓存回收策略等。Guava Cache适用于需要精细控制缓存行为的应用。 **Memcached** Memcached是一个高性能的分布式内存...

    ehcache-1.6.2-src

    通过对Ehcache 1.6.2源码的学习,开发者不仅可以理解其工作原理,还可以定制自己的缓存策略,例如实现自定义的缓存淘汰算法、数据加载策略等。此外,源码分析有助于深入学习Java多线程、内存管理和并发控制等核心...

    Hibernate一级缓存和二级缓存【内附二级缓存数据存储结构】

    为了确保数据一致性,Hibernate提供了几种缓存策略,包括读写策略(read-write)、同步策略(transactional)和非事务性策略(non-transactional)。读写策略是最简单的,每次更新都同步到缓存;同步策略则在事务...

    ENCACHE缓存简介

    非堆内存存储则是企业版Ehcache的特色,它不依赖于Java的垃圾回收机制,因此能够创建更大规模的缓存,提升性能;磁盘存储则用于扩展内存容量,当内存缓存满时,会自动将数据溢写到硬盘上,实现持久化。 Ehcache的...

    Hibernat一级缓存(源码)

    2. 使用 SoftReferences:可以配置 Hibernate 使用软引用(SoftReferences)来管理缓存中的对象,这样在内存不足时,Java 垃圾回收器会自动回收这些对象,平衡缓存和系统资源。 3. 分布式缓存:在多节点环境中,可以...

    EhcacheUserGuide

    这部分内容提供了关于如何调优垃圾回收策略的具体指导,帮助开发者提高系统的整体性能。 #### 十五、缓存装饰器(Cache Decorators) 缓存装饰器是一种扩展Ehcache功能的方法。这部分内容介绍了如何使用缓存装饰器...

    大型分布式系统中的缓存架构.docx

    Guava Cache支持多种缓存更新和回收策略,如基于大小或时间的自动清理,适用于需要精细控制缓存行为的场景。 Memcached是另一种流行的分布式内存缓存,以其高性能和简单的设计著称。它使用LRU策略进行数据淘汰,并...

    公司用的缓存设计(源代码),基于JAVA的,可以接受10万并发

    Java的垃圾回收机制可以自动清理不再使用的对象,但开发者还需要关注缓存的大小限制,例如设置最大缓存项数量或总内存大小。 3. **缓存策略**:包括LRU(Least Recently Used,最近最少使用)、LFU(Least ...

    Mybatis添加Ehcache支持的方法

    当然,我们还可以进一步配置Ehcache的行为,例如设置缓存的大小、刷新间隔、回收策略等。这可以通过在`<cache>`标签内添加`<property>`子标签来实现,或者通过在类路径下的`ehcache.xml`配置文件进行配置。配置项与...

    基于Java的实例源码-Java缓存工具 SimpleCache.zip

    此外,这也能帮助开发者扩展知识,比如了解如何将这种简单的缓存机制与更复杂的缓存系统,如Ehcache、Guava Cache或Spring Framework的Cache抽象相结合,以适应更大型的分布式系统需求。 总的来说,"基于Java的实例...

    java缓存代码,tomcat JVM配置

    例如,在`java写缓存.docx`文件中,可能详细讲解了如何利用这些库创建缓存策略,包括设置缓存大小、过期策略、并发控制等。在自定义缓存实现时,需要注意线程安全、数据一致性以及内存管理,以避免性能瓶颈或内存...

    CacheManager.java

    - **缓存策略**: 可能包括基于时间的过期策略、基于引用计数的回收策略、LFU(Least Frequently Used)或LRU(Least Recently Used)等。 - **事件监听**: 可能包含缓存命中、未命中、添加、更新和移除等事件的监听...

    MyBatis缓存实现原理及代码实例解析

    其中,`eviction`指定了缓存回收策略,如LRU、FIFO等;`flushInterval`表示缓存刷新间隔,单位为毫秒;`readOnly`设定是否只读;`size`定义了缓存能存储的最大元素数量。 总的来说,MyBatis的一级缓存和二级缓存为...

Global site tag (gtag.js) - Google Analytics