1、hashmap缓存:
2、CacheManager缓存
CacheManager缓存:Cache falsePortCache = cacheManager.getCache("falsePort");
falsePort为缓存区域名(可以想象成集合list)
//以uuid作为key,使用注解方式存缓存
cacheUtil.putMessageCache(uuid, model);
//使用CacheManager方式存缓存
Cache falsePortCache = cacheManager.getCache("falsePort");
falsePortCache.put(uuid, model);
3、注解缓存:@CachePut(value = "message", unless = "#result == null", key = "#userName")
message为缓存区域名(可以想象成集合list)
缓存使用注解方式,里面的方法也需要使用注解,如果在该类中有一个没有标注注解的方法想使用有
注解的方法是没有用的,需要在另外的类中使用@Autowired将CacheUtil注入进来,再调用有注解的方法,
不像CacheManager的使用不受限制,但是这种情况也比较少见
@Component
public class CacheUtil {
@CachePut(value = "message", unless = "#result == null", key = "#userName")
public CacheModel putMessageCache(String userName, CacheModel
model) {
return model;
}
@Cacheable(value = "message", unless = "#result == null", key = "#userName")
public CacheModel getMessageCache(String userName) {
return null;
}
@CacheEvict(value = "message", key = "#userName")
public void clearMessageCache(String userName) {
}
}
网友评论