SpringBoot整合Redis

tech2023-05-25  98

第一步:添加Redis的起步依赖

1、 <!--Redis起步依赖--> 2、 <dependency> 3、 <groupId>org.springframework.boot</groupId> 4、 <artifactId>spring-boot-starter-data-redis</artifactId> 5、 </dependency>

第二步:在application.yml中配置redis的连接信息

1. spring: 2. redis: 3. host:127.0.0.1 4. port: 6379

第三步:编写接口

@Repository public interface UserRepository extends JpaRepository<User, Integer> { }

第四步:注入RedisTemplate测试redis操作

1. package com.ts.repository; 2. 3. import com.alibaba.fastjson.JSONArray; 4. import com.fasterxml.jackson.databind.ObjectMapper; 5. import com.ts.VueJSApplication; 6. import com.ts.pojo.User; 7. import org.apache.commons.lang3.StringUtils; 8. import org.junit.Test; 9. import org.junit.runner.RunWith; 10. import org.springframework.beans.factory.annotation.Autowired; 11. import org.springframework.boot.test.context.SpringBootTest; 12. import org.springframework.data.redis.core.RedisTemplate; 13. import org.springframework.test.context.junit4.SpringRunner; 14. 15. import java.util.List; 16. 17. @RunWith(SpringRunner.class) 18. @SpringBootTest(classes = VueJSApplication.class) 19. public class RedisTest { 20. 21. @Autowired 22. private UserRepository userRepository; 23. 24. @Autowired 25. private RedisTemplate<String, String> redisTemplate; 26. 27. @Test 28. public void testRedis() throws Exception { 29. // 1.从redis中获得数据 数据的形式json字符串 30. String userListJson = redisTemplate.boundValueOps("user.findAll").get(); 31. // 2.判断redis中是否存在数据 32. if (StringUtils.isBlank(userListJson)) { 33. // 3.不存在数据 从数据库查询 34. List<User> users = userRepository.findAll(); 35. // 4.将查询出的数据存储到redis缓存中 36. // 向将list集合转换成json格式的字符串 使用jackson进行转换 37. JSONArray jsonArray = new JSONArray(); 38. userListJson = jsonArray.toJSONString(users); 39. redisTemplate.boundValueOps("user.findAll").set(userListJson); 40. System.out.println("========从数据库中获得user的数据======"); 41. } else { 42. System.out.println("========从redis缓存获得user的数据======"); 43. } 44. // 5.将数据库在控制台打印 45. System.out.println("userListJson = " + userListJson); 46. } 47. }
最新回复(0)