如何设置TTL / TTI /驱逐策略/ XXX功能?
直接通过你的缓存提供程序。缓存抽象是…好吧,抽象不是缓存实现
因此,如果你使用EHCache,请使用EHCache的配置来配置TTL。
你还可以使用Guava的CacheBuilder来构建缓存,并将该缓存的ConcurrentMap视图传递给ConcurrentMapCachefactorybean的setStore方法。
Spring 3.1和Guava 1.13.1:
@EnableCaching
@Configuration
public class CacheConfiguration implements CachingConfigurer {
@Override
public CacheManager cacheManager() {
ConcurrentMapCacheManager cacheManager = new ConcurrentMapCacheManager() {
@Override
protected Cache createConcurrentMapCache(final String name) {
return new ConcurrentMapCache(name,
CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.MINUTES).maximumSize(100).build().asMap(), false);
}
};
return cacheManager;
}
@Override
public KeyGenerator keyGenerator() {
return new DefaultKeyGenerator();
}
}