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);     } }