标签:before ict style bsp bool voc generator color manage
一 .概述
在前面,我们说到了@Cacheable注解,本节我们将剩下的注解进行说明.
二 .@CachePut注解
这个注解就是解决缓存的更新问题.
public @interface CachePut { // cache的名字 @AliasFor("cacheNames") String[] value() default {}; @AliasFor("value") String[] cacheNames() default {}; String key() default ""; String keyGenerator() default ""; String cacheManager() default ""; String cacheResolver() default ""; String condition() default ""; String unless() default ""; }
从注解的属性上看,基本和@Cacheable注解是一致的.
我们需要注意的就是,这个注解的作用方式.
当方法执行完之后,会根据条件决定是否put一个key和value.当key重复的时候,就相当于缓存的更新.
三 .@CacheEvict
public @interface CacheEvict { @AliasFor("cacheNames") String[] value() default {}; @AliasFor("value") String[] cacheNames() default {}; String key() default ""; String keyGenerator() default ""; String cacheManager() default ""; String cacheResolver() default ""; String condition() default ""; boolean allEntries() default false; boolean beforeInvocation() default false; }
上面的注解,决定上面时候进行缓存的清空.上面的属性都比较的简单,只有最后一个属性是需要我们注意的.
beforeInvocation 这个属性时比较关键的,决定清楚缓存是在方法发生之前还是之后.
关键的一点就是方法是否会出现异常,此时我们如果提早清空缓存就会出现问题.
标签:before ict style bsp bool voc generator color manage
原文地址:https://www.cnblogs.com/trekxu/p/9514439.html