码迷,mamicode.com
首页 > 系统相关 > 详细

EhCache缓存框架的使用

时间:2017-10-08 10:05:09      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:文件结构   判断   []   def   ora   blog   区域   pack   stat   

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

 

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

 

主要的特性有:

1. 快速

2. 简单

3. 多种缓存策略

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

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

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

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

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

9. 提供Hibernate的缓存实现

 

项目文件结构

下载jar包->贴jar包->引入jar包

技术分享

 

ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>
 
<ehcache>
   <!-- 
         磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存
          path:指定在硬盘上存储对象的路径
   -->
   <diskStore path="d:\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.zhi.ehcache;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;

public class Demo {

	public static void main(String[] args) {
		// 根据ehcache.xml配置文件创建Cache管理器
        CacheManager manager=CacheManager.create("ehcache.xml");
        Cache c=manager.getCache("a"); // 获取指定Cache
        Element e=new Element("oracle","zhi"); // 实例化一个元素
        c.put(e); // 把一个元素添加到Cache中
         
        Element e2=c.get("oracle"); // 根据Key获取缓存元素
        System.out.println(e2);
        System.out.println(e2.getObjectValue());
         
        c.flush(); // 刷新缓存
        manager.shutdown(); // 关闭缓存管理器
	}

}

  

 

EhCache缓存框架的使用

标签:文件结构   判断   []   def   ora   blog   区域   pack   stat   

原文地址:http://www.cnblogs.com/mengxinrenyu/p/7636430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!