代码建立在上一篇博客基础上。
1. pom
添加redis的起步依赖
<!-- 配置使用redis启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2. 配置redis的连接信息(application.properties)
#Redis
spring.redis.host=127.0.0.1
spring.redis.port=6379
3. 注入RedisTemplate 测试redis操作
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootJpaApplication.class)
public class RedisTest {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Autowired
private UserRepository userRepository;
@Test
public void test() throws JsonProcessingException {
//1.从redis中获得数据,数据形式:json字符串
String userListJson = redisTemplate.boundValueOps("user.findAll").get();
//2.判断redis中是否存在数据
if (userListJson == null) {
//3.不存在数据:从数据库查询
List<User> all = userRepository.findAll();
//4.将查询出的数据存储到redis缓存中
//将list集合转换成json格式的字符串,使用jackson进行转换
ObjectMapper objectMapper = new ObjectMapper();
userListJson = objectMapper.writeValueAsString(all);
redisTemplate.boundValueOps("user.findAll").set(userListJson);
System.out.println("======从数据库中获得user的数据======");
} else {
System.out.println("======从redis缓存中获得user的数据======");
}
//5.将数据在控制台打印
System.out.println(userListJson);
}
}