EhCache的简单使用Demo

1、首先要有个工程
new->maven project;
2、下载需要的jar包

<dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>2.10.1</version>
      </dependency>

3、EhCache核心配置文件
ehcache.xml:

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
    <diskStore path="java.io.tempdir" />  
    <defaultCache maxElementsInMemory="1000" eternal="false"  
        timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" />  
    <cache name="ehcacheName" maxElementsInMemory="10000"  
        eternal="false" timeToIdleSeconds="300000" timeToLiveSeconds="600000"  
        overflowToDisk="true" />  
</ehcache>

diskStore path:配置写磁盘文件
defaultCache 标签:配置默认cache
cache :配置自定义cache
各种详细参数在这里就不做介绍了,下一篇文章可能会单独介绍。

4、根据自我需求建立对应工具类
EhcacheUtil.java

import java.net.URL;

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

public class EhcacheUtil {

    private static final String path = "/ehcache.xml";

    private URL url;

    private CacheManager manager;

    private static EhcacheUtil ehCache;

    private EhcacheUtil(String path) { 
        url = getClass().getResource(path); 
        manager = CacheManager.create(url); 
    }

    public static EhcacheUtil getInstance() { 
        if (ehCache== null) { 
            ehCache= new EhcacheUtil(path); 
        } 
        return ehCache; 
    }

    public void put(String cacheName, String key, Object value) { 
        Cache cache = manager.getCache(cacheName); 
        Element element = new Element(key, value); 
        cache.put(element); 
    }

    public Object get(String cacheName, String key) { 
        Cache cache = manager.getCache(cacheName); 
        Element element = cache.get(key); 
        return element == null ? null : element.getObjectValue(); 
    }

    public Cache get(String cacheName) { 
        return manager.getCache(cacheName); 
    }

    public void remove(String cacheName, String key) { 
        Cache cache = manager.getCache(cacheName); 
        cache.remove(key); 
    }

}
构造方法和getIntance()保证了在程序运行过程中无论多少次实例化工具类,只会存在一个EhcacheUtil对象。
Ehcache的使用在于put与get,对应的方法也写到工具类中,可以直接通过工具类对象直接调用。
path指定的是resource目录下的ehcache.xml文件,也可以自己指定路径。

5、一个小小的测试程序
Test.java

public class Test {

    public static void main(String[] args) {
        EhcacheUtil ehcacheUtil = EhcacheUtil.getInstance();
        List<String> list =new ArrayList<String>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        list.add("6");
        ehcacheUtil.put("ehcacheName", "key", list);
        @SuppressWarnings("unchecked")
        List<String> value = (List<String>) ehcacheUtil.get("ehcacheName", "key");
        System.out.println(value.size());

    }  
}

结果显示:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
6

进行到这一步,就证明你的Ehcache基本可以使用了,具体的配置详细还需要深入研究,敬请期待下一篇有关介绍Ehcache的配置详细。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值