我们新建一个Maven项目,
pom.xml里引入 ehcache支持;
1
2
3
4
5
|
<
dependency
>
<
groupId
>net.sf.ehcache</
groupId
>
<
artifactId
>ehcache</
artifactId
>
<
version
>2.10.3</
version
>
</
dependency
>
|
ehcache.xml配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
ehcache
>
<!--
磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存
path:指定在硬盘上存储对象的路径
-->
<
diskStore
path
=
"C:\ehcache"
/>
<!--
defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理
maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象
eternal:代表对象是否永不过期
overflowToDisk:当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中
-->
<
defaultCache
maxElementsInMemory
=
"100"
eternal
=
"true"
overflowToDisk
=
"true"
/>
<
cache
name
=
"a"
maxElementsInMemory
=
"100"
eternal
=
"true"
overflowToDisk
=
"true"
/>
</
ehcache
>
|
package com.justin.hello;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* ehcache缓存框架使用
* @author Administrator
*
*/
public class EhcacheTest {
public static void main(String[] args) {
//通过管理管理器读取缓存配置
CacheManager manager=CacheManager.create("./src/main/resources/ehcache.xml");
//获取指定的缓存
Cache cache=manager.getCache("aaa");
//实例化一个元素
Element element=new Element("justin====","茅台镇酱香酒");
//添加元素到缓存中
cache.put(element);
//根据key值获取缓存元素
Element element2=cache.get("justin====");
System.out.println(element2);
System.out.println(element2.getObjectValue());
Element element3=cache.get("justin");
System.out.println(element3);
System.out.println(element3.getObjectValue());
//刷新缓存
cache.flush();
//关闭缓存管理器
manager.shutdown();
}
}
ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<!--
磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存
path:指定在硬盘上存储对象的路径
-->
<diskStore path="C:\ehcache" />
<!--
defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理
maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象
eternal:代表对象是否永不过期
overflowToDisk:当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中
-->
<defaultCache
maxElementsInMemory="100"
eternal="true"
overflowToDisk="true"/>
<!--
maxElementsInMemory设置成1,overflowToDisk设置成true,只要有一个缓存元素,就直接存到硬盘上去
eternal设置成true,代表对象永久有效
maxElementsOnDisk设置成0 表示硬盘中最大缓存对象数无限大
diskPersistent设置成true表示缓存虚拟机重启期数据
-->
<cache
name="aaa"
maxElementsInMemory="1"
eternal="true"
overflowToDisk="true"
maxElementsOnDisk="0"
diskPersistent="true"/>
</ehcache>