ehcache 基本原理
2011-07-18 21:18:38| 分类: Java超级工具集 |字号 订阅
ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。同时ehcache作为开放源代码项目,采用限制比较宽松的Apache License V2.0作为授权方式,被广泛地用于Hibernate, Spring,Cocoon等其他开源系统。
Ehcache的类层次模型主要为三层,最上层的是CacheManager,他是操作Ehcache的入口。我们可以通过CacheManager.getInstance()获得一个单个的CacheManager,或者通过CacheManager的构造函数创建一个新的CacheManager。每个CacheManager都管理着多个Cache。而每个Cache都以一种类Hash的方式,关联着多个Elemenat。而Element则是我们用于存放要缓存内容的地方。
ehcache的刷新策略
ehcache的刷新策略是当缓存在放入的时候记录一个放入时间,它是用Lazy Evict的方式,在取的时候同设置的TTL比较
ehcache缓存的3种清空策略:
1 FIFO,先进先出
2 LFU,最少被使用,缓存的元素有一个hit属性,hit值最小的将会被清出缓存。
3 LRU,最近最少使用的,缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。
事件处理
可以为CacheManager添加事件监听,当对CacheManager增删Cache时,事件处理器将会得到通知。要配置事件处理,需要通过ehcache的配置文件来完成。
ehcache参数配置:
maxInMemory - 设定内存中创建对象的最大值。
eternal - 设置元素(译注:内存中对象)是否永久驻留。如果是,将忽略超时限制且元素永不消亡。
timeToIdleSeconds - 设置某个元素消亡前的停顿时间。也就是在一个元素消亡之前,两次访问时间的最大时间间隔值。这只能在元素不是永久驻留时有效(译注:如果对象永恒不灭,则设置该属性也无用)。
如果该值是 0 就意味着元素可以停顿无穷长的时间。
timeToLiveSeconds - 为元素设置消亡前的生存时间。也就是一个元素从构建到消亡的最大时间间隔值。这只能在元素不是永久驻留时有效。
overflowToDisk - 设置当内存中缓存达到maxInMemory 限制时元素是否可写到磁盘上。
分享到:
相关推荐
**Ehcache基础原理** Ehcache是一款广泛使用的开源Java缓存系统,它提供高性能、易用性以及可扩展性的缓存解决方案。...通过理解Ehcache的基本原理和配置,开发者可以更好地利用缓存提升应用程序的性能。
ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。同时ehcache作为开放源代码项目,采用限制比较宽松的...
Ehcache的基本原理是通过将常用但计算成本较高的数据存储在内存中,减少对数据库或计算资源的访问,从而实现高速的数据读取。它采用键值对的形式,用户可以通过键来快速获取对应的值。Ehcache支持两种主要的缓存模式...
`ehcache-core-2.5.2-sources.jar`则是Ehcache的源代码文件,开发者可以查看源码来理解Ehcache的工作原理,进行调试,或根据需要自定义扩展。源码库包含所有类的定义、方法实现以及注释,对于深入学习和定制Ehcache...
**Ehcache工作原理** Ehcache的核心概念包括缓存、缓存区(Cache)、缓存项(Cache Entry)和缓存策略。缓存区是Ehcache中存储数据的地方,每个缓存区都有自己的配置,如大小、过期时间等。缓存项则是缓存区中的...
1. **ehCache基本概念**: - **缓存**:缓存是一种存储机制,用于临时存放经常访问的数据,减少对主存储器(如数据库)的访问频率,提高系统性能。 - **ehCache层次结构**:ehCache分为三个层次:堆内缓存、磁盘...
缓存的基本原理是将常用但计算或获取成本较高的数据存储在内存中,以便快速访问。Ehcache利用内存的高速读写能力,当用户请求数据时,首先检查缓存中是否存在,如果存在则直接返回,避免了昂贵的数据库查询。这样,...
首先,我们需要了解ehcache的基本概念和工作原理。Ehcache分为两级缓存:内存和磁盘。内存缓存速度快但容量有限,磁盘缓存则提供更大的存储空间,但访问速度相对较慢。当内存中的数据达到预设限制时,旧的数据会被...
Ehcache是一款高效、流行的Java缓存框架,广泛...通过这三个小demo,你可以深入理解Ehcache的使用场景、配置方式和工作原理,无论是后台缓存还是前端缓存,都可以灵活地应用到实际项目中,提升系统的效率和响应速度。
首先,我们需要了解Ehcache的基本概念和工作原理。 Ehcache的核心功能是提供内存缓存服务,它分为三个主要部分:内存区域(Memory Store)、磁盘存储(Disk Store)和分布式缓存(Distributed Cache)。内存区域将...
在本篇文章中,我们将探讨Ehcache的核心概念、工作原理以及关键组件。 首先,Ehcache的核心功能是提供内存缓存,它将频繁访问的数据存储在内存中,以便快速获取。Ehcache的源码主要分为以下几个部分: 1. **Cache ...
**正文** Ehcache是一种广泛使用的Java缓存解决方案,它为应用程序...实践这些示例有助于更好地理解Ehcache在实际应用中的工作原理。在你的项目中,你可以根据需求调整配置,优化缓存策略,从而提高应用程序的性能。
深入学习 Ehcache 源码有助于理解其工作原理。主要关注以下几个关键类: - **Cache**: 实现缓存逻辑的核心类,包含缓存的添加、获取和删除操作。 - **DefaultCache**: Ehcache 的默认实现,包含了缓存的内存和磁盘...
EhCache是一个开源的、高性能的缓存解决方案,主要用于Java应用程序。它被广泛应用于提高应用...同时,EhCache的源码分析也是深入理解缓存原理和技术细节的好途径,对于提升软件开发技能和解决实际问题具有很大帮助。
1. **缓存原理**:Ehcache基于内存存储机制,将频繁访问的数据暂存在内存中,减少对硬盘或远程服务的调用,从而降低延迟,提高响应速度。 2. **缓存结构**:Ehcache包括了主缓存和二级缓存,以及可选的持久化层,...
#### 二、Ehcache页面缓存的基本原理 Ehcache通过在内存或磁盘中存储经常被请求的数据,避免了每次都需要从数据库或其他源头获取数据的情况。这样不仅提高了数据的读取速度,还减少了对外部资源的压力。 - **内存...
- **局部性原理**:计算机科学中的一个基本原则,指的是程序在执行过程中会频繁访问一小部分数据或指令。 - **长尾效应**:在缓存中,一小部分数据会被非常频繁地访问,而大部分数据很少被访问。 ##### 2.3 应用...
首先,我们要理解MyBatis整合Ehcache的基本原理。MyBatis-ehcache是MyBatis官方提供的一个插件,它使得MyBatis能够无缝地与Ehcache集成。通过这个插件,MyBatis可以在执行SQL查询之前检查Ehcache中是否有对应的缓存...
- **通用缓存**:介绍如何在任何Java应用中快速启用Ehcache的基本步骤。 - **Hibernate集成**:指导开发人员如何将Ehcache与Hibernate结合使用,以提高查询性能。 - **J2EE Servlet缓存**:提供有关如何在基于...
提供了丰富的代码示例,覆盖了从基本用法到高级功能的各种场景,有助于开发者快速上手并深入理解 Ehcache 的工作原理。 #### 十三、类加载与类加载器(Classloading and Class Loaders) 1. **类加载机制**:解释...