缓存处理(Redis)

一、为了提高查询的性能,我们通常采用Redis缓存解决。

1、Redis环境搭建

以docker的形式为例,搭建redis缓存

docker run -di --name=onelun_redis -p 6379:6379 redis 
2、SpringDataRedis

Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis、JRedis and RJC)进行了高度封装,RedisTemplate提供了redis各种操作。

3、实例

在项目的pom.xml引入依赖


    org.springframework.boot
    spring-boot-starter-data-redis

修改application.yml,在spring节点下添加配置

redis: 
    host: 192.168.184.134

在service层引入RedisTemplate

@Autowired      
private RedisTemplate redisTemplate;     
/**       
* 根据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); 
        // redisTemplate.opsForValue().set("article_" + id, article, 1, TimeUnit.DAYS); // 可设置过期时间1天           
    }
    return article;
}
/**       
* 修改       
* @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);
}

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