spring 3.1 配置 ehcache 设置最大值问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

spring 3.1 配置 ehcache 设置最大值问题

现在公司的框架使用的是 spring3 + myibatis 原来没有缓存,查了下资料发现,spring 3以后整合ehcache很方便,今天就尝试整合了下,用的是spring 注解方式,现在有这样一个问题

在ehcache配置如下

<?xml version="1.0" encoding="UTF-8"?>
<ehcache updateCheck="false" dynamicConfig="false">
<cacheManagerEventListenerFactory class="" properties=""/>
    <diskStore path="java.io.tmpdir" /> 
    
<defaultCache
        maxElementsInMemory="1000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
        memoryStoreEvictionPolicy="LRU" 
        />
    
    <!-- 每个业务设置自己的符合自己业务的设置 -->     
    <cache name="ExhibitionImages"
        maxElementsInMemory="2"
        eternal="false"
        timeToIdleSeconds="60"
        timeToLiveSeconds="60"
        overflowToDisk="true"
/>
</ehcache> 
 

以下是在DAO调用的配置
   @Cacheable(value="ExhibitionImages",key="#id + 'ExhibitionImageDao.find'")
    public ExhibitionImage find(Integer id){
    System.out.println("从数据库中查询....");
        return getSqlSession().selectOne("ExhibitionImage.find", id);
    }

我明明配置最大在内存中的数量是2个,但是点击第三个的时候也可以了,前面放入的也没有移除,想问下defaultCache 在什么时候生效,还有 这个路径是否切换成从别的配置文件中读取,刚弄这个,希望大家帮帮忙~

展开
收起
a123456678 2016-03-17 16:18:16 2065 0
1 条回答
写回答
取消 提交回答
  • a123456678

    overflowToDisk="true" 这句,如果你点击第三个的时候前2个没有过期,会把旧数据刷新到磁盘里面取这个路径只是存放ehcache的索引文件,可以换成其他路径,比如/home/www/index,或C:test都可以

    2019-07-17 19:05:36
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
电商网站需求分析和架构设计Spring Boot2.6入门
立即下载
云上Docker的Spring Cloud微服务应用实践分享
立即下载
Spring Boot 2.6.0电商网站开发实战
立即下载