EhCache的简单使用Demo

xiaoxiao2021-02-28  31

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的配置详细。

转载请注明原文地址: https://www.6miu.com/read-35926.html

最新回复(0)