关键词不能为空

当前您在: 主页 > 英语 >

ehcache使用文档

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 05:52
tags:

-

2021年2月28日发(作者:jerk)



Ehcache


使用文档







作者:兰东平






Email



2


0


1


2



2



























1



基本介绍



1.1



前言



Ehcache


是一个快速的、轻量级的、易于使用的、进程内 的缓存。它支持


read-only



read/write


缓存,


内存和磁盘缓存。


是一个非常轻量级的缓存实现,

< br>而且从



之后就支持了集群,目前的最新版本是。


简单地说来,


ehcache


有以下特点:




快速


.




简单


.




多种缓存策略




缓存数据有两级:内存和磁盘,因此无需担心容量问题




缓存数据会在虚拟机重启的过程中写入磁盘




可以通过


RMI

、可插入


API


等方式进行分布式缓存




具有缓存和缓存管理器的侦听接口




支持多缓存管理器实例,以及一个实例的多个缓存区域




提供


Hibernate


的缓存实现



2



安装和使用



2.1



下载



Ehcache


的官方网站


downl oads/catalog


上面可以下载到各种版本。


目前用 最


新版本是,下载这个版本即可。



下 载之前,会要求用户注册,按照要求输入即






建议下载文件,因为这个文件包含了所有


Ehcache


的内容。



2.2



安装



2.2.1



发布包内容说明



将解压到本地文件系 统。


在安装之前,


我们先来大致看看发布包里边的内容,


如下图所示。


































如一般的开源框架发布包类似,< /p>


ehcahce


的发布包包含以下目录内容:


javadoc



ehcach e



API


文档;


lib



ehcache


要用到的第三方


jar


包和自己的

< p>
jar


包;



licen ses



ehcache


的授权文件;



samples


< br>ehcache


的例子目录;



src



ehcache


的源代码目录 ;



terracotta


:使用


terracotta


集群时的


terra cotta


服务;




ehcache


的配置文件模板,包括各个配置的英文解释;

< br>


:文件的验证文件模板;



: 快速开始文件,会连接到


ehcache


的官方网站;




ehcache


版 本功能和新特性说明文件。



除了阅读本文档快速地学习和了解


ehcache


的功能,也可以通过


e hcache



带的快速开始文件进行学习。

< br>


2.2.2



安装到项目工程



Ehcache


的安装方法比较简单,将解压开的发布包下的


lib /



lib /


lib/


放置


到类路径下面即可使用。如下图所示:






























其中,和两个


jar


包,用于


ehcache


的日志输出,是第三方


jar


包。关于这两



jar


包的用法和功能特性,请查阅


slf4j


框架的相关功能。< /p>



3



开始一个例子



3.1



新建一个空的


java project


工程



通过

< p>
eclipse


向导新建一个


Java Project


工程


ehcache-test



并将上面提的三个


类添加到类路径下。工程如下图所 示:


















其中的


lib


目录,我专门用来存放


jar


包。




3.2



工程中添加配置文件



3.2.1



新建配置文件存放目录




ehcache-test


工程中新 建专门用于存放配置文件的包,根据我们的习惯,


该包取名为“


conf





3.2.2



加入

ehcache


配置文件



在刚才 新建的


conf


包下加入发布包目录下的和两个配置文件。



注意,这两


个配置文件要放在同一目录下 。


如果需要将文件放到其他目录,


需要修改文件中



xsi:noNamespaceSchemaLocation=


配置项




经过以上步骤操作,工程目录结构如下图所示:



3.2.3



修改配置文件内容



正如先前所述,< /p>



ehcache


的配置文件模板,


每一项配置的说明都相当详细。


在修改该配置文件之前,如果大家有 兴趣,不妨先大致看看其中的内容和注释。



为了说明简单,我 们先运行


ehcache


最基本和简单的例子。配置文件内容如


下:



<


xml



v ersion


=



encoding


=



>

< p>



<


ehcache


< br>xmlns:xsi


=
















<


cache



name


=




maxEntriesLocalHeap


=

< br>







maxEntriesLocalDisk

< br>=




eternal

< p>
=




overflowT oDisk


=




diskSpoolBufferSizeMB


=


< p>


timeToIdleSeconds


=




timeToLiveSeconds


=




memory StoreEvictionPolicy


=


< br>


transactionalMode


=




/>





ehcache


>



<


defaultCache



maxEntriesLocalHeap


=




eternal


=

< br>




overflowToDi sk


=




ti meToIdleSeconds


=




timeToLiveSeconds


=



>




d efaultCache


>



xsi: noNamespaceSchemaLocation


=




updateCheck


=




monitoring


=




dynamicConfig


=



>



经过以上步骤操作,我们的工程如下图所示:






















3.3



编写测试类



新建名为“


ehcache


”的包。在“


ehcache


”包下面新建“”类。



文件内容使用


Junit


来编写,所以我们还需要在工程中添加

Junit4


。的内容


很简单,如下:


package


ehcache;




import








*




*


@author


ldp




*




*/



public



class


TestMain {
















}







}



Element element1 =


new


Element(key, value);



(element1);




();








Cache cache1 = (



);



String key =



;



String value = () +



;



@Test



public



void


testF1()


throws


Exception {





URL url =







);



CacheManager manager =


new


CacheManager(url);



以上是一个很简单的测试类,稍后我们再对代码进行分析。



3.4



运行测试类



运行上面的类,输出结果如下:




3.5



代码解析



下面主要对中的

< p>
testF1()


方法进行详细地解析。



代码片段


1







URL url =







);



CacheManager manager =


new


CacheManager(url);



这两行代码根据


conf/


配置文件新建出一个


Cache Manager


对象。也就是说,











Cache Manager
















Ca cheManager


对象实际管理和控制的


cache


对象。



代码片段


2




Cache cache1 = (



通过


CacheManager


对象获取其中的指定缓存


(sampleCache1)



每个缓存以 其


name


属性来区分。



代码片段


3







String key =



;



String value = () +



;



新建一个键值对。



代码片段


4









Element element1 =


new


Element(key, value);



(element1);



新建一个< /p>


Element


对象,该对象以刚才的键值对为数据;再将


Element


对象放入到缓存


sample Cache1


中;


再从缓存


sampl eCache1


中根据键取出存入其


中的


Element


对象。



代码片段


5




();



关闭


CacheManager


对象,程序运行结束。



4



Ehcache


的基本原理



通过以上的一个简单的例子,我们已经大体了解了一些


Ehcache< /p>


的原理。接


下来,我们再比较详细地了解下


Ehcache


的原理。



4.1



整体结构



Ehcache


的类层次模型主要为三层,最上层的是


CacheManager


,他是操作


Ehcache


的入口。我们可以 通过


()


获得一个单个的


CacheM anager


,或者通过


CacheManager

< p>
的构造函数创建一个新的


CacheManager


。每个


CacheManager



管理着多个


Cache



而每个


Cache


都以一种类


Hash


的方式,


关联着多个


Elemenat




Element


则是我 们用于存放要缓存内容的地方。



Ehcache


的整体结构图如下图所示。




































ehcache


的刷新策略



ehcache


的刷新策略是当缓存在放入的时候记录一个放入时间,它 是用


Lazy


Evict


的方式,在 取的时候同设置的


TTL


比较。



ehcache


缓存的


3

< br>种清空策略:




FIFO


,先进先出




LFU


,最少被使用,缓存的元素有 一个


hit


属性,


hit


值最小的将会被清出


缓存。




LRU


,最近最少使用的,缓存的元 素有一个时间戳,当缓存容量满了,而


又需要腾出地方来缓存新的元素的时候,那么现有 缓存元素中时间戳离


当前时间最远的元素将被清出缓存。



事件处理



可以为

CacheManager


添加事件监听,当对


Cache Manager


增删


Cache


时,< /p>


事件处理器将会得到通知。要配置事件处理,


需要通过

< p>
ehcache


的配置文件来完


成。



可以为


Cache


添加事 件监听,当对


Cache


增删


Elem ent


时,事件处理器将会


得到通知。要配置事件处理,需要通 过


ehcache


的配置文件来完成。



4.2



CacheManager



如上文所 述,


CacheManager


是操作


Ehcache


的入口。其类结构如下:




对于


CacheManager


,我么重点了解它的构造函数。我们可以有两种模式来


创建


CacheManager


,单例


(Singl eton)


和多例


(Instance)




单例创建


CacheManag er


是指通过


()


方法或者无参的构造 函数


CacheManager()


创建一个

< br>CacheManager


对象。


这种情况下,系统会在 最顶层的


classpath


路径下


找 名叫的配置文件,


如果查找失败,


会以包中的文件


(里边的缓存配置极其简单)


替代。同时,一个警告会提醒用户建立自己的配 置文件。



测试代码(添加在


ehcache- test


工程的中,以下同是)










@Test



public



void


testF2()


throws


Exception {








CacheManager manager = new CacheManager();



(



Cache cache1 = (



String key =



String value = () +



;



Element element1 =


new


Element(key, value);








(element1);




}




();



执行结果如下图所示:





































同时,我们也可以看到,当我们用 代码“


(


”向


CacheManage r


中加入缓存时,系统会自动用中的



项的配置创建出一个


name


为< /p>



sampleCache1


”的


cache




多例 创建


CacheManager


的方法和先前的


testF1()


方法一致。


CacheManage r


支持多种方式创建:


Configuration

< p>
对象、


InputStream


对象、

< p>
配置文件路径字符串



URL

对象。如果大家有兴趣,都可以去尝试一下。



特别地,< /p>


对于多例创建


CacheManager



我们需要指定


CacheManager


name


属性,系统不允许多个相同

name



CacheManager

存在;另外,对于一些资源,


如当设置了


cache


内存占用空间满了后,就将缓存数据存放到物理硬盘上


(Cache< /p>



overflowToDisk


属性< /p>


)



每个


Cac heManager


对象的


diskStore


配置路径不能有重


复。关于


diskStore


的详细配置说明,请参照模板文件。



4.3



Ehcache


接口



所有的


cache


都实现此接口,每个


cache


有自己的


name


和其他属性,


cache


中存放


Ele ment


对象数据。


Cache


中的< /p>


Element


对象一般存储在


Memo ryStore



边,我们也可以配置将其存储到


DiskStore


配置指定的文件路径下边。该接口的

结构如下:


-


-


-


-


-


-


-


-



本文更新与2021-02-28 05:52,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/679087.html

ehcache使用文档的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文