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

}

你可能感兴趣的:(2017-07-11(SpringBoot Cache))