java缓存框架---ehcache简单实例

java缓存有很多,ehcache是比较流行的java缓存框架,它以简单,快速等特点受到广大开发人员的喜爱,下面是我参考了一些资料后整理的关于ehcache的简单实例,包括通过配置文件和java动态添加缓存,以下是详细代码:

一、通过使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件)

package ehcache;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
 * 使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件)
 * @author Administrator
 *
 */
public class EhCache1 {
	
	public static void main(String[] args) {
        //创建一个缓存管理器
        CacheManager singletonManager = CacheManager.create();
        //建立一个缓存实例
        Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2);
        //在内存管理器中添加缓存实例
        singletonManager.addCache(memoryOnlyCache);
        //在缓存管理器中获取一个缓存实例
        Cache cache = singletonManager.getCache("testCache");
        //使用获取到的缓存实例
        Element element = new Element("key1", "value1");
        cache.put(element);//添加缓存值
        cache.put(new Element("key2", "value2"));//添加缓存值

        int elementsInMemory = cache.getSize();//获取缓存个数
        System.out.println("缓存个数======="+elementsInMemory);

//        Object obj = element.getObjectValue();//获取对象值
//        cache.remove("key1");//删除缓存
        
        Cache cache2 = singletonManager.getCache("testCache");//获取缓存实例
        Element element2 = cache2.get("key1");
        System.out.println("value====="+element2.getValue());//获取缓存值
//        singletonManager.shutdown();
	}

}

二、通过配置文件ehcache.xml创建缓存实例


1.ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">

  <!-- 磁盘缓存位置 -->
  <diskStore path="java.io.tmpdir/ehcache"/>

  <!-- 默认缓存 -->
  <defaultCache
          maxEntriesLocalHeap="10000"
          eternal="false"
          timeToIdleSeconds="120"
          timeToLiveSeconds="120"
          maxEntriesLocalDisk="10000000"
          diskExpiryThreadIntervalSeconds="120"
          memoryStoreEvictionPolicy="LRU"/>

  <!-- helloworld1缓存 -->
  <cache name="helloworld1"
         maxElementsInMemory="1000"
         eternal="false"
         timeToIdleSeconds="5"
         timeToLiveSeconds="5"
         overflowToDisk="false"
         memoryStoreEvictionPolicy="LRU"/>
         
         <!-- helloworld2缓存 -->
  <cache name="helloworld2"
         maxElementsInMemory="1000"
         eternal="false"
         timeToIdleSeconds="5"
         timeToLiveSeconds="5"
         overflowToDisk="false"
         memoryStoreEvictionPolicy="LRU"/>
         
</ehcache>
2.java代码

package ehcache;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
 * 通过配置文件(ehcache.xml)来使用缓存
 * @author Administrator
 */
public class EhCache2 {
	
	public static void main(String[] args) {
		 //创建缓存管理器
        final CacheManager cacheManager = new CacheManager();

        // 创建一个缓存实例(在配置文件中获取一个缓存实例)
        final Cache cache = cacheManager.getCache("helloworld1");

        final String key = "greeting";

        //他建一个数据容器
        final Element putGreeting = new Element(key, "Hello, World!");

        //将数据放入到缓存实例中
        cache.put(putGreeting);

        //取值
        final Cache cache2 = cacheManager.getCache("helloworld1");
        final Element getGreeting = cache2.get(key);

        // Print the value
        System.out.println("value======//========"+getGreeting.getObjectValue());
	}

}


  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值