美文网首页
CacheManager缓存与注解缓存

CacheManager缓存与注解缓存

作者: 墨色尘埃 | 来源:发表于2018-02-04 21:55 被阅读15次

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缓存与注解缓存

      本文链接:https://www.haomeiwen.com/subject/tqevzxtx.html