SpringBoot整合Redis进行缓存数据库查询

一、导入redis的启动器java

<!--redis启动器-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

二、在yml配置文件中配置redis链接信息web

spring:
  redis:
    host: 192.168.206.128

三、在service中经过RedisTemplate操做redis,使用redis进行缓存数据库查询redis

/** * 根据ID查询 * * @param id * @return */
public Article findById(String id) {
	// 从redis缓存中提取数据
	Article article = (Article) redisTemplate.opsForValue().get("article_" + id);
	// 若是缓存中没有,则从数据库中查询并放入缓存中
	if(article == null){
		article = articleDao.findById(id).get();
		redisTemplate.opsForValue().set("article_" + id, article);
	}

	// 返回从redis缓存中得到的数据
	return article;
}

四、对数据库进行删除或修改后删除redis中的缓存spring

/** * 修改 * * @param article */
public void update(Article article) {
	// 删除redis中的缓存
	redisTemplate.delete("article_" + article.getId());
	// 修改操做
	articleDao.save(article);
}

/** * 删除 * * @param id */
public void deleteById(String id) {
	// 删除redis缓存数据
	redisTemplate.delete("article_" + id);
	// 删除操做
	articleDao.deleteById(id);
}

五、缓存过时处理数据库

// 设置缓存过时时间为1天
redisTemplate.opsForValue().set("article_" + id, article, 1, TimeUnit.DAYS);
相关文章
相关标签/搜索