`
zhuruxin86
  • 浏览: 106362 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

EHCache入门系列(一)–简介及配置

阅读更多
一、简介
ehcache 是一个非常轻量级的缓存实现,而且从1.2 之后就支持了集群,而且是hibernate 默认的缓存provider 。EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。

Ehcache可以直接使用。也可以和Hibernate对象/关系框架结合使用。还可以做Servlet缓存。

Cache 存储方式 :内存或磁盘。

官方网站:http://ehcache.sourceforge.net/

主要特性

1. 快速.
2. 简单.
3. 多种缓存策略
4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题
5. 缓存数据会在虚拟机重启的过程中写入磁盘
6. 可以通过RMI、可插入API等方式进行分布式缓存
7. 具有缓存和缓存管理器的侦听接口
8. 支持多缓存管理器实例,以及一个实例的多个缓存区域
9. 提供Hibernate的缓存实现

二、快速上手
1、 项目类库中添加ehcache.jar;

2、 在类路径下编写ehcache.xml配置文件。

三、配置文件参数详解
ehcache.xml是ehcache的配置文件,并且存放在应用的classpath中。下面是对该XML文件中的一些元素及其属性的相关说明:

<diskStore>元素:指定一个文件目录,当EHCache把数据写到硬盘上时,将把数据写到这个文件目录下。 下面的参数这样解释:

user.home – 用户主目录

user.dir – 用户当前工作目录

java.io.tmpdir – 默认临时文件路径

<defaultCache>元素:设定缓存的默认数据过期策略。

<cache>元素:设定具体的命名缓存的数据过期策略。

<cache>元素的属性

name:缓存名称。通常为缓存对象的类名(非严格标准)。

maxElementsInMemory:设置基于内存的缓存可存放对象的最大数目。

maxElementsOnDisk:设置基于硬盘的缓存可存放对象的最大数目。

eternal:如果为true,表示对象永远不会过期,此时会忽略timeToIdleSeconds和timeToLiveSeconds属性,默认为false;

timeToIdleSeconds: 设定允许对象处于空闲状态的最长时间,以秒为单位。当对象自从最近一次被访问后,如果处于空闲状态的时间超过了timeToIdleSeconds属性值,这个对象就会过期。当对象过期,EHCache将把它从缓存中清空。只有当eternal属性为false,该属性才有效。如果该属性值为0,则表示对象可以无限期地处于空闲状态。

timeToLiveSeconds:设定对象允许存在于缓存中的最长时间,以秒为单位。当对象自从被存放到缓存中后,如果处于缓存中的时间超过了 timeToLiveSeconds属性值,这个对象就会过期。当对象过期,EHCache将把它从缓存中清除。只有当eternal属性为false,该属性才有效。如果该属性值为0,则表示对象可以无限期地存在于缓存中。timeToLiveSeconds必须大于timeToIdleSeconds属性,才有意义。

overflowToDisk:如果为true,表示当基于内存的缓存中的对象数目达到了maxElementsInMemory界限后,会把益出的对象写到基于硬盘的缓存中。注意:如果缓存的对象要写入到硬盘中的话,则该对象必须实现了Serializable接口才行。

memoryStoreEvictionPolicy:缓存对象清除策略。有三种:

1 、FIFO ,first in first out ,这个是大家最熟的,先进先出,不多讲了

2 、LFU , Less Frequently Used ,就是上面例子中使用的策略,直白一点就是讲一直以来最少被使用的。如上面所讲,缓存的元素有一个hit 属性,hit 值最小的将会被清出缓存。

3、 LRU ,Least Recently Used ,最近最少使用的,缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。

分享到:
评论

相关推荐

    ehcache的配置参数详解

    ehcache是一种广泛使用的Java缓存框架,用于提高应用程序性能,特别是在数据访问操作中。通过将数据存储在内存中,ehcache能够显著减少数据库查询次数,从而加快应用响应速度。本文将深入探讨ehcache.xml配置文件中...

    ehcache缓存的jar包和配置文件

    总的来说,Ehcache是一个强大的工具,能够帮助提升Java应用的性能,通过合理配置和使用,可以有效地管理缓存,避免频繁的数据库交互,从而提高系统响应速度。记住,优化缓存的关键在于理解业务需求和数据访问模式,...

    ehcache基本原理及配置

    Ehcache是一款广泛使用的开源Java缓存系统,它提供高性能、易用性以及可扩展性的缓存解决方案。Ehcache的核心原理主要包括内存存储、磁盘存储和缓存淘汰策略。 1. **内存存储**: Ehcache首先会将数据存储在内存中,...

    EHCACHE集群配置-JGroup篇

    EHCAHCE基于JGROUP的集群配置方案,内含相关配置文件,及配置说明

    自己编写泛型通用 Ehcache入门

    **一、Ehcache 简介** Ehcache 是基于内存的缓存框架,它提供了一个本地缓存解决方案,支持数据的临时存储,以加快读取速度。Ehcache 支持两种缓存模式:内存和磁盘,当内存中的数据达到预设阈值时,可以自动将数据...

    ehcache配置使用详解

    ### ehcache配置使用详解 #### 一、ehcache概述与特性 **背景介绍:** 缓存作为提升系统响应速度和降低数据库压力的关键技术,在现代软件架构中占据着重要位置。ehcache,作为一款高性能的开源Java缓存框架,旨在...

    集群环境中使用_EhCache_缓存系统&Ehcache配置文件的详细说明

    总结,EhCache在集群环境中的应用能够显著提升系统性能和可用性,而正确配置`ehcache.xml`文件是实现这一目标的关键。理解并熟练掌握EhCache的各项配置选项,可以帮助我们更好地利用缓存系统,优化应用性能。在实际...

    ehcache缓存配置详解

    ehcache 缓存配置详解 Ehcache 是一个流行的 Java 缓存框架,提供了强大的缓存机制,帮助开发者提高应用程序的性能和可扩展性。 Ehcache 的配置主要包括 diskstore、defaultCache、cache 三个部分,这三个部分的...

    ehcache缓存入门项目

    在这个“ehcache缓存入门项目”中,我们将深入探讨EhCache的基本概念、配置、使用方法以及一些实用技巧。 1. **EhCache简介** EhCache是一个基于内存的分布式缓存解决方案,它可以存储对象并提供快速访问。它支持...

    Ehcache Monitor 安装配置

    在Ehcache Monitor的配置中,"Probe"是一个关键概念,它是一个包含在应用程序中的jar文件和配置,用于收集和发送Ehcache的监控数据。要添加Probe到你的应用程序,你需要在你的`pom.xml`文件中添加Terraform的release...

    Ehcache(2): Ehcache实例在Eclipse中的配置 改进

    例如,如果我们有一个`User`实体类,可以在`ehcache.xml`中添加如下配置: ```xml maxElementsInMemory="100" eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="true"/&gt; ...

    ehcache使用,以及集群配置

    **Ehcache 使用详解与集群配置** Ehcache 是一个广泛使用的开源Java缓存系统,它提供了内存和磁盘存储,以及对缓存数据的分布式处理能力。在Java应用程序中,Ehcache能够显著提高性能,减少数据库负载,通过缓存...

    基于ssm框架配置ehcache

    里面有jar,ssm框架,以及ehcache的配置,照着改成自己的就可以,注意不要用实体类传入参数,不懂的看我博客

    ehcache-terracotta代码配置

    在本篇中,我们将深入探讨如何在Java项目中配置Ehcache与Terracotta来实现这一功能。 1. Ehcache简介 Ehcache是基于内存的缓存解决方案,它提供了本地缓存、持久化存储和二级缓存等功能。通过将频繁访问的数据保存...

    Spring 使用注解配置使用ehcache

    接着,我们需要创建一个Ehcache配置文件(ehcache.xml),定义缓存策略和缓存区域。例如: ```xml &lt;ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=...

    ehcache二级缓存配置文件

    **Ehcache二级缓存配置详解** Ehcache是一个广泛使用的开源Java缓存库,它提供了内存和磁盘存储的缓存解决方案,适用于提高应用程序性能和减少数据库负载。在Java应用中,尤其是在Spring框架中,Ehcache常被用作二...

    Ehcache(一): Spring + Ehcache开场白

    配置Ehcache,我们可以在Spring的配置文件中定义一个`CacheManager` bean,指定Ehcache的配置文件路径。Ehcache的配置文件(如ehcache.xml)包含了缓存的命名空间、大小限制、过期策略等信息。例如: ```xml ...

    ehcache.jar及源码

    Ehcache是一个广泛使用的开源Java缓存库,它为应用程序提供了高效的内存管理和数据缓存功能。Ehcache的核心目标是提高应用性能,通过将频繁访问的数据存储在内存中,减少对数据库的依赖,从而降低系统负载。这次我们...

    springmvc4+spring4+hibernate5.1.3+二级缓存ehcache+fastjson配置

    在实际应用中,开发者需要根据项目需求调整这些配置,例如设置数据库连接参数、配置Ehcache缓存策略、定义SpringMVC的拦截器和视图解析器等。此外,还需要确保所有的依赖库已正确导入,以便项目能够顺利运行。这样的...

    EHCache配置

    EHCache的核心配置文件是`ehcache.xml`,这是一个XML格式的文件,包含了关于缓存的各种设置。以下是一些常见的配置元素: - `&lt;cache&gt;`:定义一个缓存,包括其名称、最大元素数量、内存和磁盘存储策略等。 - `...

Global site tag (gtag.js) - Google Analytics