jetcache
jetcache copied to clipboard
2.6.0 版本 只使用本地缓存 @CacheInvalidate 不生效 本地缓存不会被删除
配置:
@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) {
}