SpringBoot集成-Redis
- 起步依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
- 配置文件:application.properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/db3?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.database=MySQL
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.nameing_startegy=org.hibernate.cfg.ImprovedNamingStrategy
spring.redis.host=127.0.0.1
spring.redis.port=6379
- 测试类
package com.example.demo;
import com.example.demo.pojo.Student;
import com.example.demo.repository.StudentRepository;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = DemoApplication.class)
public class RedisTest {
@Autowired
private RedisTemplate<String,String> redisTemplate;
@Autowired
private StudentRepository studentRepository;
@Test
public void test(){
String studentData = redisTemplate.boundValueOps("myStudent").get();
if(studentData == null) {
List<Student> all = studentRepository.findAll();
ObjectMapper objectMapper = new ObjectMapper();
try{
studentData = objectMapper.writeValueAsString(all);
redisTemplate.boundValueOps("myStudent").set(studentData);
System.out.println("从数据库中获取数据");
} catch (JsonProcessingException e){
e.printStackTrace();
}
}else {
System.out.println("从缓存中获取数据");
}
System.out.println("取得的数据:"+studentData);
}
}
|