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

embedded/2024/9/23 9:20:46/

目录

第一步:引入依赖

第二步:配置Redis信息

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

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

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

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


第一步:引入依赖

        <!--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信息

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.136.132/mydbusername: rootpassword: 1234type: com.alibaba.druid.pool.DruidDataSourceredis:database: 0host: 192.168.136.132port: 6379password: pz030812...lettuce:pool:max-active: 8max-idle: 8min-idle: 0max-wait: 100ms

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

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

java hljs">@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 hljs">    @Autowiredprivate StringRedisTemplate stringRedisTemplate;@Autowiredprivate 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


http://www.ppmy.cn/embedded/18817.html

相关文章

村集体建设用地,开发乡村旅游项目,土地如何审批?

以村集体建设用地,开发乡村旅游项目,土地如何审批? 乡村&#xff0c;作为承载乡村旅游产业的载体&#xff0c;在乡村振兴中扮演着非常重要的角色。 项目的落地&#xff0c;可靠的土地是必要的前提。集体建设用地如何审批&#xff1f;农转非又需要什么样的流程&#xff0c;具体…

企业微信私有化部署对接oauth2.0

1.添加依赖&#xff1a;JustAuth <dependency><groupId>me.zhyd.oauth</groupId><artifactId>JustAuth</artifactId><version>1.16.6</version> </dependency> 2.添加 ElephantAuthSource.java package com.elephant.devop…

缓存相关问题:雪崩、穿透、预热、更新、降级的深度解析

✨✨祝屏幕前的小伙伴们每天都有好运相伴左右✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 1. 缓存雪崩 1.1 问题描述 1.2 解决方案 1.2.1 加锁防止并发重建缓存 2. 缓存穿透 2.1 问题描述 2.2 解决方案 2.2.1 布隆过…

Laravel 6 - 第十一章 中间件

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

感觉眩晕就以为高血压犯了?如果伴有耳鸣,请警惕这种疾病

高血压被称为“无形杀手”&#xff0c;我国调查研究显示每3位成年人中就有1位高血压患者&#xff0c;典型表现为头痛、心悸耳鸣等&#xff0c;偶尔也存在阵发性眩晕等不典型表现。当出现耳鸣、眩晕等症状时切忌想当然以为是高血压&#xff0c;尤其是耳鸣和眩晕两者同时出现而且…

Windows如何安装spark

Apache Spark是一个开源的大数据处理框架&#xff0c;旨在提供高效、通用和易用的大数据处理引擎。它最初由加州大学伯克利分校AMPLab开发&#xff0c;并于2010年开源。 Spark提供了一个基于内存的计算引擎&#xff0c;可以在大规模数据集上执行高速的数据处理任务。相比传统的…

MySQL B+索引的工作原理及应用

引言 在数据库系统中&#xff0c;索引是优化查询、提高性能的关键技术之一。特别是在MySQL数据库中&#xff0c;B树索引作为最常用的索引类型&#xff0c;对数据库性能有着至关重要的影响。本文旨简单解析MySQL中B树索引的工作原理&#xff0c;帮助学生朋友们更好地理解和利用…

windows驱动开发-I/O请求(一)

I/O请求是内核中非常重要的部分&#xff0c;所有的驱动功能都使用I/O请求来交互&#xff0c;故理解了I/O请求也就理解了驱动的工作原理。 DeviceIoControl 这个函数主要就是用于发送I/O请求: BOOL DeviceIoControl (HANDLE hDevice, // CreateFile返回的设备句柄…