1.引入依赖
<!-- 引入redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.application.yml配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password:
redis:
host: 127.0.0.1
port: 6379
3.去集体的业务(比如查询用户的所有信息的ServiceImpl)
自动封住StringRedisTemplate
@Autowired
StringRedisTemplate stringRedisTemplate;
//加入缓存从缓存中拿数据
@Override
public ArrayList<User> getAllUser() {
//加入缓存
String numb = stringRedisTemplate.opsForValue().get("numb");
if (StringUtils.isEmpty(numb)){//判断为空从数据库查
ArrayList<User> allUserDB = getAllUserDB();
//将数据放入缓存,将查出的对象转为json放在缓存中
String s = JSON.toJSONString(allUserDB);
// stringRedisTemplate.opsForValue().set("numb",s);
stringRedisTemplate.opsForValue().set("numb",s);
// stringRedisTemplate.expire("numb", 5, TimeUnit.SECONDS);
System.out.println("数据库");
System.out.println("数据库==============================");
return allUserDB;
}
ArrayList<User> allUserDB=JSON.parseObject(numb,new TypeReference<ArrayList<User>>(){});
System.out.println("缓存");
System.out.println("缓存====================================");
return allUserDB;
}
//从数据库拿数据
public ArrayList<User> getAllUserDB() {
ArrayList<User> allUser = userDao.getAllUser();
return allUser;
}