springboot 整合redis

162 阅读1分钟

学习记录

redis五种数据类型:string ,hash, set ,sortedSet, hash

redis是一个nosql, 单进程单线程,线程安全
redis将所有数据都存在内存中,所以读写速度惊人
同时,redis还可以将内存中的数据以快照或日志的形式保存到硬盘中,以保证数据的安全性
redis典型的应用场景:缓存,排行榜,计数器,社交网络,消息队列等

spring boot整合redis

pom添加依赖

<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>

实体类 要注意实现Serializable

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student implements Serializable {
    private long id;
    private String name;
    private int age;
}

注意实体类一定要实现serializable接口,否则无法放进redis里

创建redis配置

server:
  port: 8080
spring:
  redis:
    database: 11
    host: localhost
    port: 6379

创建handler

@RestController
public class StudentHandler {
    @Autowired
    private RedisTemplate redisTemplate;

    @PostMapping("/set")
    public void set(@RequestBody Student student){
        redisTemplate.opsForValue().set("student", student);
    }
}

注意几个注解

  • 只使用@RestController ,会无法返回jsp页面
  • 如果需要返回页面则要使用@Controller配合视图解析器InternalResourceViewResolver才行
  • 如果需要返回json、xml、或自定义的mediaType内容到页面,则需要在对应方法上添加@responseBody