美文网首页
2017-07-11(SpringBoot Cache)

2017-07-11(SpringBoot Cache)

作者: 0a96442bdce9 | 来源:发表于2017-07-12 14:21 被阅读0次

    新建了第一个springboot项目,连接数据库成功,浏览器访问ok

    了解了Spring cache的三个注解:

    @Cacheable(value="userCache"),当调用这个方法时,先查询userCache这个cache, 如果没有,则执行方法,并将结果存入缓存,这里缓存的key为默认的方法参数mobile, value就是user对象了。

    @Cacheable(value="user")

    public User getUser(String mobile) {

        return userDao.getUser(mobile);

    }

    @Cacheable(value="userCache", condition="#username.length() <= 5)

    public User getUserByUsername(String username) {

    }

    @CacheEvict当加了这个注解的方法, 默认行为是方法被调用后,会清空缓存,要是抛出异常,则不清空缓存。

    @CacheEvict(value=“userCache”, key="#account.getMobile()") //清空userCache缓存

    public void deleteUser(User user){

        userDao.delete(user);

    }

    @CacheEvict(value=“userCache”, allEntries=true) // 清空所有userCache缓存

    public void reload() {


    }

    @CacheEvict(value=“userCache”, beforeInvocation=true) // 先清空所有userCache缓存,哪怕方法抛异常跟它也没关系。

    public void  reload() {

    }

    @CachePut, 标记这个注解的方法被执行,同时方法返回值也会记录到缓存中,实现缓存与数据库同步更新。

    @CachePut(value=“userCache”, key="#user.getMobile()") 

    public User updateUser(User user) {

         //update

    }

    相关文章

      网友评论

          本文标题:2017-07-11(SpringBoot Cache)

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