我正在使用@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>

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

最佳答案

不幸的是,由ConcurrentMapCache生成的ConcurrentMapCacheFactoryBean不允许限制其大小。

ConcurrentMapCache



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

关于java - 优化/限制缓存Spring的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36771941/

10-17 01:38