一、环境需求:jdk1.8,电脑上安装好redis,linux和windows都可以,postman测试用,这里不附上安装教程了。
二、创建Springboot项目
可以创建空项目,直接下一步下一步即可
引入pom.xml依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--Spring boot 整合redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--连接池-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
三、创建包pojo,建实体类Student
这里实体类一定要实现序列化,如果没有实现序列化无法存入redis
具体原因参照io流。
package com.redis.pojo;
import lombok.Data;
import java.util.Date;
/**
* @Author zhushaojie
* @Date 2020/6/8 10:08
* @Version 1.0
* 一定要实现序列化,如果没有实现序列化无法存入redis
*/
@Data
public class Student implements Serializable{
private Integer id;
private String name;
private Double score;
private Date birthday;
}
四、创建包controller,在包下创建类StudentHandler
package com.redis.controller;
import com.redis.pojo.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
/**
* @Author zhushaojie
* @Date 2020/6/8 10:17
* @Version 1.0
*/
@RestController
public class StudentHandler {
// 直接注入,不需要再单独配置RedisTemplate
@Autowired
private RedisTemplate redisTemplate;
/**存 相当于添加和修改*/
@PostMapping("/set")
public void set(@RequestBody Student student){
// 调用RedisTemplate封装好的k,v来存入实体类
redisTemplate.opsForValue().set("student",student);
}
/**取 相当于查询*/
@GetMapping("/get/{key}")
public Student get(@PathVariable("key") String key){
// 调用RedisTemplate获取方法
return (Student)redisTemplate.opsForValue().get(key);
}
/**删 相当于查询
* 删除成功返回false
* 删除失败返回true
*/
@DeleteMapping("/delete/{key}")
public boolean delete(@PathVariable("key") String key){
// 调用RedisTemplate删除方法
redisTemplate.delete(key);
return redisTemplate.hasKey(key);
}
}
五、配置文件application.yml,在这里我没有配置端口,Springboot默认端口8080
我这里redis的密码是空所以没有输入
spring:
redis:
database: 0
# redis的ip地址,我这里是本地,端口默认6379
host: localhost
port: 6379
六、测试
1.新增修改
新增和修改为一个接口,修改就是覆盖新增的结果
redis自动序列化,redis中有值说明咱们已经成功吧Student存储到redis服务器上了
2.查询,直接输入所要取的k就行
3.删除,返回false说明删除成功
到这里咱们Spring boot整合redis的crud的完成啦
需要源码参考的小伙伴可以关注微信公众号:秃头的程序猿
有很多的开发资料供大家共同讨论学习哦!