缓存处理(Spring Cache)

Spring Cache使用方法与Spring对事务管理的配置相似。Spring Cache的核心就是对某 个方法进行缓存,其实质就是缓存该方法的返回结果,并把方法参数和结果用键值对的 方式存放到缓存中,当再次调用该方法使用相应的参数时,就会直接从缓存里面取出指 定的结果进行返回。

1、常用注解

@Cacheable # 使用这个注解的方法在执行后会缓存其返回的结果
@CacheEvict # 使用这个注解的方法在其执行前或执行后移除Spring Cache中的某些元素

2、实例
在ArticleService的findById方法添加缓存注解,这样当此方法第一次运行,在缓存中没有找到对应的value和key,则将查询结果放入缓存。

/**       
* 根据ID查询实体       
* @param id       
* @return       
*/      
@Cacheable(value="article",key="#id")
public Article findById(String id) {
    return articleDao.findById(id).get();
}

当我们对数据进行删改的时候,需要更新缓存。其实更新缓存也就是清除缓存,因为清除缓存后,用户再次调用查询方法无法提取缓存会重新查找数据库中的记录并放入缓存。

/**       
* 修改       
* @param gathering       
*/
@CacheEvict(value="article",key="#article.id") 
public void update(Article article) {
    articleDao.save(article);
}
/**       
* 删除       
* @param id
*/
@CacheEvict(value="article",key="#id")
public void deleteById(String id) {
    articleDao.deleteById(id);
}

你可能感兴趣的:(缓存处理(Spring Cache))