EhCache缓存的使用

EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider

 

我们使用EhCache缓存框架主要是为了判断重复Url,每次爬取一个网页,都把Url存储到缓存中,并且每次爬某个网页之前,都去缓存中搜索下,假如存在的话,我们就不要爬取这个网页了,不存在的话,我们就爬下网页,爬取成功后,把这个Url存储到缓存中;之所以用缓存框架,主要是速度快,相对于传统数据库;

 

Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持RESTSOAP api等特点。

Ehcache最初是由Greg Luck2003年开始开发。2009,该项目被Terracotta购买。软件仍然是开源,但一些新的主要功能(例如,快速可重启性之间的一致性的)只能在商业产品中使用,例如Enterprise EHCache and BigMemory。维基媒体Foundationannounced目前使用的就是Ehcache技术。

 

主要的特性有:

1. 快速

2. 简单

3. 多种缓存策略

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

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

6. 可以通过RMI、可插入API等方式进行分布式缓存

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

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

9. 提供Hibernate的缓存实现

 


EhCache最新版本是3.X 本人一直用的是2.X 比较稳定 功能足够用;

所以还是用2.X版本;

 

我们新建一个Maven项目,

pom.xml里引入 ehcache支持;

net.sf.ehcache

ehcache

2.10.3


ehcache.xml配置文件

EhCache缓存的使用_第1张图片
















我们再新建一个测试类:

EhCache缓存的使用_第2张图片

执行完之后的结果

EhCache缓存的使用_第3张图片

​​


如果想直接存储到本地

EhCache缓存的使用_第4张图片

​​


















执行完之后

会发现你指定的目录已经有了缓存文件了

EhCache缓存的使用_第5张图片

该技术对于10万以内的爬虫数据有效,不推荐使用于10W以上的数据。​​​​

 

转载于:https://www.cnblogs.com/chengxiaolong/p/10206333.html

你可能感兴趣的:(EhCache缓存的使用)