我的购物车(0)

关于EHCACHE的问题,请看详细

作者:MOLEX1 ,2016/7/3 13:22:24 发布     举报
    (318) (0) (0) (1)
  • 公司一个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;
    }
     还希望有大神不吝赐教! 谢谢

标签:

共有1条网友评论
standard 发表于2016/7/3 13:22:42
  • 看你的代码的,如果缓存没有,是不是从数据库拿的?你可以断点调试看下从数据库加载到的是否有数据
有帮助(0)没帮助(0)引用此答案
1/1
文明上网,理性发言
专题关键词
专题版主
申请成为版主
  • Royston

    高级工程师 安富利中国有限公司 FAE熟练应用,ISE14.1 工具

  • Royston

    高级工程师 安富利中国有限公司 FAE熟练应用,ISE14.1 工具

  • Royston

    高级工程师 安富利中国有限公司 FAE熟练应用,ISE14.1 工具

  • Royston

    高级工程师 安富利中国有限公司 FAE熟练应用,ISE14.1 工具

  • Royston

    高级工程师 安富利中国有限公司 FAE熟练应用,ISE14.1 工具

类似问题
最新分享上传与展示原则:
1、首先展示的产品必须是电子业内的作品;
2、对业内人士有学习的意义;
3、作品可以以广告的形式出现,若广告目的太
强烈,不予展示;
4、带病毒性的文件,不予展示,若严重,还会
屏蔽会员IP;
5、任何的分享都会通过系统管理员的审核,审
核时间,通常不超过24小时;