Redis 安装
liunx 下
拉取官方的镜像,下载
docker pull redis
查看一下是否成功:
docker images
启动rides镜像
docker run -p 6379:6379 -d redis:latest redis-server
然后使用spring boot 整合 redis
/** 架包依赖*/
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
application.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT
username: root
password: root
redis:
host: 192.168.139.129
#服务器地址
port: 6379
#服务器端口
database: 1
# Redis数据库索引(默认为0) 密码之类的 默认是没有的可以写
logging:
level:
com.jianglin.demo_redis.dao: debug
# 打印SQL语句
这就不详细写实体类了
dao层
@Mapper
public interface StudentMapper {
@Select("select * from student")
public List<Student> findAll();
}
servlce
public interface StudentServlce {
List<Student> findAll();
}
实现类
@Service
public class StudentServlceImpl implements StudentServlce {
@Autowired
private StudentMapper studentMapper;
@Autowired
private RedisTemplate redisTemplate;
@Override
public List<Student> findStudentAll() {
String key = "student";
ListOperations<String, Student> operations = redisTemplate.opsForList();
// 缓存存在
boolean hasKey = redisTemplate.hasKey(key);
if (hasKey) {
return operations.range(key,0,-1);
}else{
List<Student> list = studentMapper.findStudentAll();
System.out.println(list);
operations.leftPushAll(key, list);
return list;
}
}
}
Controller
@RestController
public class StudentController {
@Autowired
private StudentServlce studentServlce;
@GetMapping("/findAll")
public List<Student> findAll(){
return studentServlce.findStudentAll();
}
}
然后完成的就是这样的!
主要是servlce的实现类,实现的redis缓存!!