> 技术文档 > Redis Java 集成到 Spring Boot_java springboot redis

Redis Java 集成到 Spring Boot_java springboot redis


Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~
🌱🌱个人主页:奋斗的明志
🌱🌱所属专栏:Redis

📚本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为展示我的学习过程及理解。文笔、排版拙劣,望见谅。

在这里插入图片描述

Redis Java 集成到 Spring Boot

  • 一、使用 Spring Boot 连接 Redis 单机
    • 1.创建Spring Boot 项目
    • 2.勾选相关依赖(Dependencies)
    • 3.界面显示
  • 二、配置 Redis 服务地址
    • 1.在 application.yml 中配置
    • 2.映射端口号
  • 三、创建 Controller 类
    • 1.创建一个 MyController
    • 2.使用 String
    • 3.使用 List
    • 4.使用 Set
    • 5.使用 Hash
    • 6.使用 ZSet
  • 四、小结

一、使用 Spring Boot 连接 Redis 单机

1.创建Spring Boot 项目

Redis Java 集成到 Spring Boot_java springboot redis

2.勾选相关依赖(Dependencies)

  • NoSQL 中的 Spring Data Redis
  • 把 Web 中的 Spring Web 也勾选⼀下.
  • 方便写接口进行后续测试.

Redis Java 集成到 Spring Boot_java springboot redis


Redis Java 集成到 Spring Boot_java springboot redis

3.界面显示

Redis Java 集成到 Spring Boot_java springboot redis

二、配置 Redis 服务地址

1.在 application.yml 中配置

spring: data: redis: host: 127.0.0.1 # 地址 port: 8888 # 映射的端口号

补充:
Spring Boot 1.x 和 Spring Boot 2.x 中,spring.redis.host 用于配置 Redis 连接属性。
Spring Boot 3.x 中,spring.redis.host 已经弃用。
从 Spring Boot 2.x 开始,引入了 spring.data.redis 作为配置 Redis 连接的方式,并且在 Spring Boot 3.x 中也可以使用 spring.data.redis 进行配置。

2.映射端口号

  • 用Shell8 进行配置,需要一个公网ip

Redis Java 集成到 Spring Boot_java springboot redis

三、创建 Controller 类

1.创建一个 MyController

由于当前只是写简单的测试代码, 我们就不进⾏分层了. 就只创建个简单的 Controller 即可.
Redis Java 集成到 Spring Boot_java springboot redis

@RestControllerpublic class MyController {  @Autowired private StringRedisTemplate redisTemplate;}

StringRedisTemplate 用来处理文本数据的
继承于RedisTemplate
RedisTemplate 可以处理文本数据也可以处理二进制数据

Redis Java 集成到 Spring Boot_java springboot redis

2.使用 String

@GetMapping(\"/testString\")@ResponseBodypublic String testString() {  //先清除之前的数据库 redisTemplate.execute((RedisConnection connection) -> {  connection.flushAll(); return null; }); //对原生 redis 又做了进一步封装 redisTemplate.opsForValue().set(\"key\", \"111\"); redisTemplate.opsForValue().set(\"key2\", \"222\"); redisTemplate.opsForValue().set(\"key3\", \"333\"); String value = redisTemplate.opsForValue().get(\"key\"); System.out.println(\"value:\" + value); return \"OK\";}
  1. 该代码片段是一个 Spring Boot 控制器方法,通过 RedisTemplate 与 Redis 进行交互,并进行一些基本的操作
  2. redisTemplate.execute((RedisConnection connection) -> { ... }):这行代码调用了 RedisTemplateexecute 方法,执行一个 Redis 操作。具体来说,connection.flushAll() 会清空 Redis 中的所有数据(即调用 FLUSHALL 命令)。execute 方法通过 Lambda 表达式传递了一个 Redis 连接对象,用来执行 Redis 命令。执行完 flushAll 后,Redis 中的所有数据会被删除。
  3. redisTemplate.opsForValue() 相当于对命令进行进一步的封装,用它可以调用相关方法。