SpringBoot---------整合Redis

目录

第一步:引入依赖

第二步:配置Redis信息

[第三步:选择Spring Data Redis进行操作Redis数据库](#第三步:选择Spring Data Redis进行操作Redis数据库)

①操作String类型数据(用的少)

②操作Object类型数据(重要!!!)

③操作Hash,Set,List类型数据


第一步:引入依赖

XML 复制代码
        <!--SpringDataRedis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <!--common-pool-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

        <!--Jackson依赖-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

第二步:配置Redis信息

XML 复制代码
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.136.132/mydb
    username: root
    password: 1234
    type: com.alibaba.druid.pool.DruidDataSource
    
    
  redis:
    database: 0
    host: 192.168.136.132
    port: 6379
    password: pz030812...
    lettuce:
      pool:
        max-active: 8
        max-idle: 8
        min-idle: 0
        max-wait: 100ms

第三步:选择Spring Data Redis进行操作Redis数据库

①操作String类型数据(用的少)

java 复制代码
@Autowired
private StringRedisTemplate stringRedisTemplate;

@GetMapping("/redismessge")
    public JsonResult Redismsg(){
        //操作String数据

        //增,改
        stringRedisTemplate.opsForValue().set("jxxy","计科一班");
        //查
        String jxxy = stringRedisTemplate.opsForValue().get("jxxy");
        System.out.println("jxxy = " + jxxy);
        //删
        stringRedisTemplate.opsForValue().getAndDelete("jxxy");
        return new JsonResult();
    }

②操作Object类型数据(重要!!!)

java 复制代码
    @Autowired
    private StringRedisTemplate stringRedisTemplate;
    @Autowired
    private RedisTemplate redisTemplate;

    //序列化工具
    private static final ObjectMapper mapper= new ObjectMapper();

    @PostMapping("/redismessge_1")
    public JsonResult Redismsg_1(@RequestBody Student student) throws JsonProcessingException {

        //使用自动序列化
        redisTemplate.opsForValue().set("jxxy_01",student);

        Object jxxy_01 = redisTemplate.opsForValue().get("jxxy_01");
        System.out.println("jxxy_01 = " + jxxy_01);


        //手动序列化
        String json = mapper.writeValueAsString(student);
        stringRedisTemplate.opsForValue().set("jxxy_02",json);

        json = stringRedisTemplate.opsForValue().get("jxxy_02");
        Student jxxy_02 = mapper.readValue(json, Student.class);
        System.out.println("jxxy_02 = " + jxxy_02);


        return new JsonResult();
    }

postman发送请求:

idea输出数据:

注:自动序列化和手动序列化的区别:如果单在java客户端看的话,二者并无明显区别,但是从Redis数据库中看的话就会发现在自动序列化的方式在redis数据库中每个数据前面都会增加一串地址,而手动的则是清晰的数据;而且使用Redistemplate时,对象类要加 implements Serializable


先看自动序列化redis的存储情况:

再看手动序列化redis的存储情况:

③操作Hash,Set,List类型数据

这几类数据用的比较少,可以去Redis基础讲解中查看,这里就不做代码演示

学习路线:

基础框架SSM-----------spring篇

SpringBoot---------Lombook

SpringBoot---------@Value,@ConfigurationProperyies以及多环境开发配置

SpringBoot---------整合Junit

SpringBoot---------整合Mybatis

SpringBoot---------整合Mybatisplus

SpringBoot---------整合Redis

相关推荐
蓝黑202015 分钟前
IntelliJ IDEA常用快捷键
java·ide·intellij-idea
Ysjt | 深17 分钟前
C++多线程编程入门教程(优质版)
java·开发语言·jvm·c++
凌冰_19 分钟前
IDEA2023 SpringBoot整合MyBatis(三)
spring boot·后端·mybatis
码农飞飞27 分钟前
深入理解Rust的模式匹配
开发语言·后端·rust·模式匹配·解构·结构体和枚举
一个小坑货28 分钟前
Rust 的简介
开发语言·后端·rust
shuangrenlong29 分钟前
slice介绍slice查看器
java·ubuntu
牧竹子29 分钟前
对原jar包解压后修改原class文件后重新打包为jar
java·jar
数据小爬虫@40 分钟前
如何利用java爬虫获得淘宝商品评论
java·开发语言·爬虫
喜欢猪猪42 分钟前
面试题---深入源码理解MQ长轮询优化机制
java
monkey_meng1 小时前
【遵守孤儿规则的External trait pattern】
开发语言·后端·rust