jetcache icon indicating copy to clipboard operation
jetcache copied to clipboard

2.6.0 版本 只使用本地缓存 @CacheInvalidate 不生效 本地缓存不会被删除

Open xiaolongyuan opened this issue 3 years ago • 0 comments

配置:

@Configuration
@EnableMethodCache(basePackages = "cn.xxx.xxx")
@EnableCreateCacheAnnotation
public class JetCacheConfig {

    final static int CACHE_LIMIT_NUM = 1000;

    @Bean
    public SpringConfigProvider springConfigProvider() {
        SpringConfigProvider provider = new SpringConfigProvider();

        return provider;
    }

    @Bean
    public GlobalCacheConfig globalCacheConfig(){
        Map localBuilders = new HashMap();
        EmbeddedCacheBuilder localBuilder = CaffeineCacheBuilder
                .createCaffeineCacheBuilder()
                .limit(CACHE_LIMIT_NUM)
                .expireAfterWrite(1, TimeUnit.HOURS)
//                .expireAfterAccess(1, TimeUnit.HOURS)
                .keyConvertor(FastjsonKeyConvertor.INSTANCE)
                ;
        localBuilders.put(CacheConsts.DEFAULT_AREA, localBuilder);

        GlobalCacheConfig globalCacheConfig = new GlobalCacheConfig();
//        globalCacheConfig.setConfigProvider(configProvider);
//        globalCacheConfig.setRemoteCacheBuilders(localBuilders);
        globalCacheConfig.setLocalCacheBuilders(localBuilders);
        globalCacheConfig.setStatIntervalMinutes(1);
        globalCacheConfig.setAreaInCacheName(false);
        globalCacheConfig.setHiddenPackages(new String[]{"cn.xxx.xxx"});
        return globalCacheConfig;
    }
}

使用:

    @Cached(name="SysParam.TunnelStartupMode", expire = 60,cacheType = CacheType.LOCAL)
    public int getTunnelStartupMode() {
     // TODO
    }

    @CacheInvalidate(name="SysParam.TunnelStartupMode")
    public void updateTunnelStartupMode(int mode) {
    }

xiaolongyuan avatar Jun 10 '21 02:06 xiaolongyuan