首先在工程resource下创建ehcache.xml配置文件。内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<diskStore path="c:\\myapp\\cache"/>
<!-- <diskStore path="java.io.tmpdir"/> -->
<cache name="JM_SERVICE_CACHE"
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="true">
</cache>
</ehcache>
dao类查询,比如查询地区列表。这样只要查询一次数据库即可。
try {
returnList = new LinkedList<TsZone>();
CacheManager manager = CacheManager.getInstance();
Cache cache = manager.getCache("JM_SERVICE_CACHE");
Element standardElement = cache.get("CACHE1_ZONE");
if (standardElement != null) {
returnList = (List<TsZone>) standardElement.getObjectValue();
} else {
returnList = dto.findZoneCache();
standardElement = new Element("CACHE1_ZONE", returnList);
cache.put(standardElement);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new Exception(e.getMessage());
}