springboot集成redis
2022/4/17 19:43:24
本文主要是介绍springboot集成redis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Springboot集成Redis简介
redis的端口是6379 springboot添加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> <version>2.6.0</version> </dependency> Spring Data Redis提供了两个模板类来进行数据的操作: RedisTemplate StringRedisTemplate只针对键值都是字符串的进行操作。 RedisTemplate,StringRedisTemplate主要数据访问方法: opsForValue();操作只有简单属性的数据 opsForList();操作含有list的数据 opsForSet();操作含有set的数据 opsForZSet();操作含有有序set的数据 opsForHash();操作含有hash的数据 Serializer: 当数据存储到spring的时候,键和值都是通过Spring提供的Serializer序列化到数据库的,RedisTemplate默认使用JdkSerializationRedisSerializer序列化, StringRedisTemplate默认使用StringRedisSerializer进行序列化。 springboot的支持: 在RedisAutoConfiguration配置类中,默认配置了RedisTemplate,StringRedisTemplate可以直接使用Redis存储数据库。
application.properties文件配置
# 数据库名称db0 spring.redis.database=0 #服务器地址 spring.redis.host=192.168.101.60 #连接端口 spring.redis.port=6379 #连接池最大连接数 spring.redis.max-idle=8 #连接池最小连接数 spring.redis.min-idle=0 #在给定时间内连接池能分配的最大连接数 spring.redis.max-active=8 #当资源耗尽时,抛出异常的等待时间,负值为无限期的阻止 spring.redis.max-wait=-1
实体类
public class Student implements Serializable { private static final Long serialVersionUID=1L; private String sno; private String sname; private String sage; public Student() { } public Student(String sno, String sname, String sage) { this.sno = sno; this.sname = sname; this.sage = sage; } setting,getting,toString方法 }
访问数据库类
@Repository public class StudentDB { @SuppressWarnings("unused") @Autowired private StringRedisTemplate stringRedisTemplate; @SuppressWarnings("unused") @Autowired private RedisTemplate<String,String> redisTemplate; @Resource(name = "stringRedisTemplate") ValueOperations<String,String> valueOpsStr; @Resource(name = "redisTemplate") ValueOperations<Object,Object> valueOpsObject; public void saveString(String key, String value) { valueOpsStr.set(key, value); } public void saveStudent(Student student) { valueOpsObject.set(student.getSno(), student); } public void saveStudentS(Object key, List<Student> students) { valueOpsObject.set(key, students); } public String getString(String key) { return valueOpsStr.get(key); } public Object getObj(String key) { return valueOpsObject.get(key); } }
控制器类
@Controller @RequestMapping("/stu") public class StudentController { @Autowired private StudentDB studentDB; @RequestMapping("/save") public void save(){ Student student = new Student(); studentDB.saveString("uname", "haha"); Student student1 = new Student("111", "张三1", "77"); studentDB.saveStudent(student1); Student student2 = new Student("222", "张三2", "77"); Student student3 = new Student("333", "张三3", "77"); ArrayList<Student> students = new ArrayList<>(); students.add(student2); students.add(student2); studentDB.saveStudentS("aa", students); System.out.println("保存成功"); } @GetMapping("/name") public void getUname() { String uname = studentDB.getString("uname"); System.out.println(uname); } @GetMapping("/student") public void getStudent() { Object obj = studentDB.getObj("111"); System.out.println(obj); } @GetMapping("/students") public void getStudents() { Object aa = studentDB.getObj("aa"); System.out.println(aa); } }
这篇关于springboot集成redis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南