ツールクラス:ehCache、キャッシュ用ehCache
準備:
1.依存のインポート:
2.propertiesファイル追加構成:ehcache.configFile=cache/ehcache-local.xml
3.spring-context.xml加入:
最終ツールクラス:
上のツールクラスはシステムキャッシュに対応しており、他のキャッシュになりたい場合は定数を変更すればよい.
使用法:getメソッドsetメソッド同様
1.依存のインポート:
2.6.9
2.0.4
net.sf.ehcache
ehcache-core
${ehcache.version}
net.sf.ehcache
ehcache-web
${ehcache-web.version}
2.propertiesファイル追加構成:ehcache.configFile=cache/ehcache-local.xml
3.spring-context.xml加入:
4.cacheディレクトリの下でキャッシュehcache-local.xmlを構成します.たとえば、
最終ツールクラス:
/**
* Copyright © 2012-2014 JeeSite All rights reserved.
*/
package com.thinkgem.jeesite.common.utils;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* Cache
* @author ThinkGem
* @version 2013-5-29
*/
public class CacheUtils {
private static CacheManager cacheManager = ((CacheManager)SpringContextHolder.getBean("cacheManager"));
private static final String SYS_CACHE = "sysCache";
/**
* SYS_CACHE
* @param key
* @return
*/
public static Object get(String key) {
return get(SYS_CACHE, key);
}
/**
* SYS_CACHE
* @param key
* @return
*/
public static void put(String key, Object value) {
put(SYS_CACHE, key, value);
}
/**
* SYS_CACHE
* @param key
* @return
*/
public static void remove(String key) {
remove(SYS_CACHE, key);
}
/**
*
* @param cacheName
* @param key
* @return
*/
public static Object get(String cacheName, String key) {
Element element = getCache(cacheName).get(key);
return element==null?null:element.getObjectValue();
}
/**
*
* @param cacheName
* @param key
* @param value
*/
public static void put(String cacheName, String key, Object value) {
Element element = new Element(key, value);
getCache(cacheName).put(element);
}
/**
*
* @param cacheName
* @param key
*/
public static void remove(String cacheName, String key) {
getCache(cacheName).remove(key);
}
/**
* Cache, 。
* @param cacheName
* @return
*/
private static Cache getCache(String cacheName){
Cache cache = cacheManager.getCache(cacheName);
if (cache == null){
cacheManager.addCache(cacheName);
cache = cacheManager.getCache(cacheName);
cache.getCacheConfiguration().setEternal(true);
}
return cache;
}
public static CacheManager getCacheManager() {
return cacheManager;
}
}
上のツールクラスはシステムキャッシュに対応しており、他のキャッシュになりたい場合は定数を変更すればよい.
使用法:getメソッドsetメソッド同様