CacheManager缓存与注解缓存

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) {

    }

}   

你可能感兴趣的:(CacheManager缓存与注解缓存)