微信

使用微信服务,更方便

职友集>程序员面试题 > 介绍一下ECache

介绍一下ECache

2015-07-14 06:30:01 阅读( 88 )

2215人 收藏本页

标签:程序员面试题

EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。
主要的特性有:
1. 快速.
2. 简单.
3. 多种缓存策略
4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题
5. 缓存数据会在虚拟机重启的过程中写入磁盘
6. 可以通过RMI、可插入API等方式进行分布式缓存
7. 具有缓存和缓存管理器的侦听接口
8. 支持多缓存管理器实例,以及一个实例的多个缓存区域
9. 提供Hibernate的缓存实现
下面说ehcache的使用
①下载ehcache.jar,自己去google下载地址
②随后,开始配置ehCache的属性,ehCache需要一个xml文件来设置ehCache相关的一些属性,如最大缓存数量、cache刷新的时间等等
ehcache.xml放在你的classpath下.
01
02 –>
03
04 <defaultCache
05 maxElementsInMemory=”1000″
06 eternal=”false”
07 timeToIdleSeconds=”120″
08 timeToLiveSeconds=”120″
09 overflowToDisk=”false”
10 />
11 <cache name=”DEFAULT_CACHE”
12 maxElementsInMemory=”10000″
13 eternal=”false”
14 timeToIdleSeconds=”300000″
15 timeToLiveSeconds=”600000″
16 overflowToDisk=”false”
17 />
18
19<!–
201.必须要有的属性:
21name: cache的名字,用来识别不同的cache,必须惟一。
22maxElementsInMemory: 内存管理的缓存元素数量最大限值。
23maxElementsOnDisk: 硬盘管理的缓存元素数量最大限值。默认值为0,就是没有限制。
24eternal: 设定元素是否持久话。若设为true,则缓存元素不会过期。
25overflowToDisk: 设定是否在内存填满的时候把数据转到磁盘上。
262.下面是一些可选属性:
27timeToIdleSeconds: 设定元素在过期前空闲状态的时间,只对非持久性缓存对象有效。默认值为0,值为0意味着元素可以闲置至无限长时间。
28timeToLiveSeconds: 设定元素从创建到过期的时间。其他与timeToIdleSeconds类似。
29diskPersistent: 设定在虚拟机重启时是否进行磁盘存储,默认为false.(我的直觉,对于安全小型应用,宜设为true)。
30diskExpiryThreadIntervalSeconds: 访问磁盘线程活动时间。
31diskSpoolBufferSizeMB: 存入磁盘时的缓冲区大小,默认30MB,每个缓存都有自己的缓冲区。
32memoryStoreEvictionPolicy: 元素逐出缓存规则。共有三种,Recently Used (LRU)最近最少使用,为默认。 First In First Out (FIFO),先进先出。Less Frequently Used(specified as LFU)最少使用

来自IT公司面试手册

下一篇:程序员面试题包括数据库 Java和设计模式

上一篇:什么是抽象类和抽象函数

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题