您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

可以为@Cacheable设置TTL吗

可以为@Cacheable设置TTL吗

如何设置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();
    }

}
其他 2022/1/1 18:23:43 有526人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶