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

1、导入redis的启动器

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

2、在yml配置文件中配置redis连接信息

spring:
  redis:
    host: 192.168.206.128

3、在service中通过RedisTemplate操作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;
}

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

/**
 * 修改
 *
 * @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);
}

5、缓存过期处理

// 设置缓存过期时间为1天
redisTemplate.opsForValue().set("article_" + id, article, 1, TimeUnit.DAYS);
原文地址:https://www.cnblogs.com/tian-ci/p/10543064.html