6
回答
关于EHCACHE的问题,请看详细
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

公司一个web项目,有一个页面无规律的获取不到数据,但是重启下tomcat就好了,而且在本地连接外网数据库的话本地页面是有数据的,初步判定是因为这个页面列表用到了ehcache

我把数据字典整张表缓存起来放到的ehcache中,下面是我的缓存配置

<cache name="DATAPARAMETER_CACHE"
maxElementsInMemory="100"
maxElementsOnDisk="100"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="15000"
timeToLiveSeconds="18000"
memoryStoreEvictionPolicy="LFU"/>

数据字典大概有400条数据。

有人可能会说把maxElementsInMemory和maxElementsOnDisk字段值调大一点不就Ok了吗?但是我在本地测试了一下,我把这个两个值都改成了非常小的值。缓存根本存不进去(原因未知,还请大神求解)

下面是我获取存入缓存的方法:

public HashMap<String, DataParameter> queryDataParameter(){
HashMap<String, DataParameter> map = (HashMap<String, DataParameter>) EHCacheUtil.get(EHCacheName.DATAPARAMETER_CACHE, "query");
if (ObjectUtils.isNullObj(map)) {
List<DataParameter>  dataParametersList = dataParameterMapper.selectOneDataParameter();
if (!ObjectUtils.isNullObj(dataParametersList)) {
map = new HashMap<String, DataParameter>();
if (!ObjectUtils.isNullObj(dataParametersList)) {
for (DataParameter dp:dataParametersList) {
map.put(dp.getCategoryCode()+dp.getParamValue(), dp);
}
}
EHCacheUtil.put(EHCacheName.DATAPARAMETER_CACHE, "query", map);
}
}
return map;
}
 还希望有大神不吝赐教! 谢谢


举报
沉沦s
发帖于1年前 6回/274阅
顶部