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

slliver 发布于 2015/02/09 17:44
阅读 408
收藏 0

Linux基金会免费官方培训及考试申请即将截止,戳这里申请!>>>

现在公司的框架使用的是 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 在什么时候生效,还有  <diskStore path="java.io.tmpdir" /> 这个路径是否切换成从别的配置文件中读取,刚弄这个,希望大家帮帮忙~



加载中
0
调皮的XD
调皮的XD
overflowToDisk="true" 这句,如果你点击第三个的时候前2个没有过期,会把旧数据刷新到磁盘里面取<diskStore path="java.io.tmpdir" />这个路径只是存放ehcache的索引文件,可以换成其他路径,比如/home/www/index,或C:\test都可以
0
slliver
slliver
OK,按照你的说法,我把自己配置的那个overflowToDisk=false 也不行 点击第三个的时候前2个还是存放在里面
返回顶部
顶部