2017-07-11(SpringBoot Cache)

新建了第一个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

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容