为了提高查询的性能,我们通常采用Redis缓存解决。
Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问
redis服务,对reids底层开发包(Jedis,JRedis,andRJC)进行了高度封装,RedisTemplate
提供了redis各种操作。
docker run ‐di ‐‐name=tensquare_redis ‐p 6379:6379 redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐data‐redis</artifactId>
</dependency>
application.yml添加
redis:
host:192.168.12.129
/**
* 根据ID查询实体
* @param id
* @return
*/
@Autowired
private RedisTemplate redisTemplate;
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);
//设置过期时间为十秒 redisTemplate.opsForValue().set("article"+id,article,10, TimeUnit.SECONDS);
}
return article;
}
/**
*修改
*@paramarticle
*/
public void update(Article article){
redisTemplate.delete("article_"+article.getId());//删除缓存
articleDao.save(article);
}
/**
*删除
*@paramid
*/
public void deleteById(String id){
redisTemplate.delete("article_"+id);//删除缓存
articleDao.deleteById(id);
}