优化/限制缓存Spring的大小

时间:2016-04-21 13:59:19

标签: java spring caching

我正在使用@Cacheable注释在缓存中存储一​​些方法

<cache:annotation-driven />

<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
    <property name="caches">
        <set>
             <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean" p:name="method1" /> 
            <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean" p:name="method2" />   
        </set>
    </property>
</bean>

但是,一旦有几个用户使用该应用程序的缓存已满,从而阻止了该应用程序。有没有办法限制缓存的大小,如果是,这可能会影响应用程序的数据吗?

1 个答案:

答案 0 :(得分:2)

ConcurrentMapCache生成的ConcurrentMapCacheFactoryBean不允许限制其大小。

<强> ConcurrentMapCache

  

基于核心JDK java.util.concurrent包的简单缓存实现。   用于测试或简单缓存方案

我建议使用更强大的功能,例如EhCache-based CacheGuava Cache(如果您使用的是Spring 4.0 +)。