1.在pom文件中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.在application.yml文件中添加redis的配置
3.在service层中注入redisTemplate
没加缓存时候的代码:
/**
* 根据ID查询实体
* @param id
* @return
*/
public Article findById(String id) {
return articleDao.findById(id).get();
}
加了缓存之后的代码:
/**
* 根据ID查询实体
* @param id
* @return
*/
public Article findById(String id) {
//先从缓存中查询当前对象
Article article = (Article)redisTemplate.opsForValue().get("article_"+id);
//如果没有取到,就从数据库从查询,然后存入缓存中
if(article == null){
article = articleDao.findById(id).get();
redisTemplate.opsForValue().set("article_"+id,article);
}
return article;
}
第一次查询在控制台会打印出相应的sql语句,第二次查询就不会打印了,这就说明第二次没有访问数据库而是访问的缓存
4.在修改和删除的方法中要添加上删除redis中数据的方法
/**
* 修改
* @param article
*/
public void update(Article article) {
redisTemplate.delete("article_"+ article.getId());
articleDao.save(article);
}
/**
* 删除
* @param id
*/
public void deleteById(String id) {
redisTemplate.delete("article_"+ id);
articleDao.deleteById(id);
}