springboot 整合 redis 需要注意依赖与版本问题

1、redis服务端

首先你得安装一个redis服务端:

1.1、windows下安装

下载地址:https://github.com/tporadowski/redis/releases。
cmd输入指令

# 启动服务端
redis-server.exe redis.windows.conf
# 启动客户端
redis-cli

1.2、linux下安装

下载地址:http://redis.io/download
使用指令:下载、安装、启动

wget http://download.redis.io/releases/redis-6.0.8.tar.gz
tar xzf redis-6.0.8.tar.gz
cd redis-6.0.8
make

cd src
./redis-server

cd src
./redis-cli

2、spring-redis的几种依赖与版本问题

在spring与redis整合时有下面几种:
1、spring-boot-starter-data-redis
2、spring-boot-starter-redis
3、spring-data-redis

1、2中都包含有3

springboot版本可使用依赖
1.5.0之后必须是 spring-boot-starter-data-redis
1.5.0-1.4.0之间用spring-boot-starter-data-redis和spring-boot-starter-redis都可以
1.4.0之前必须是 spring-boot-starter-redis

到目前(2021年4月)都已经更新到了 spring-boot 2.5以后了,所以基本都是使用 spring-boot-starter-data-redis

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <version>2.4.0</version>
</dependency>

3、redis的几种客户端实现

实现方式区别
Jedisjava实现,使用同步和阻塞IO的方式,提供比较全面的redis原生指令的支持,上层封装比较弱,集群特性支持度低
lettuce基于netty,异步,支持各种模式的redis连接和操作,在一些分布式缓存框架上使用比较多
Redisson基于netty,异步,支持各种模式的redis连接和操作,同时提供一大堆的实用功能
### 如何在 Spring Boot 项目中添加 Redis 依赖 #### 添加 Maven 或 Gradle 依赖 为了在 Spring Boot 项目中使用 Redis,需要先引入 `spring-boot-starter-data-redis` 依赖。以下是基于 Maven 和 Gradle 的两种方式。 对于 Maven 构建工具,在项目的 `pom.xml` 文件中添加以下依赖[^2]: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 如果使用的是 Gradle 构建工具,则可以在 `build.gradle` 文件中添加如下内容: ```gradle implementation 'org.springframework.boot:spring-boot-starter-data-redis' ``` 完成上述步骤后,执行构建命令刷新依赖项即可加载所需的库文件。 --- #### 配置 Redis 属性 在成功引入依赖之后,需通过配置文件设置 Redis 的连接参数。通常情况下,这些参数会写入 `application.properties` 或者 `application.yml` 文件中。 ##### 使用 application.properties 配置 下面是一个典型的 Redis 单机模式下的配置示例[^1]: ```properties spring.redis.host=localhost spring.redis.port=6379 spring.redis.password= spring.redis.database=0 spring.redis.timeout=6000ms ``` 其中: - `spring.redis.host`: 表示 Redis 实例所在的主机名或 IP 地址; - `spring.redis.port`: 指定 Redis 服务器监听的端口号,默认为 6379; - `spring.redis.password`: 如果设置了密码保护则填写对应的值; - `spring.redis.database`: 数据库存储编号,默认是第 0 号数据库; - `spring.redis.timeout`: 客户端等待响应的最大时间长度。 ##### 使用 application.yml 配置 同样也可以采用 YAML 格式的配置文件来定义相同的选项: ```yaml spring: redis: host: localhost port: 6379 password: database: 0 timeout: 6s ``` 注意:当涉及集群环境时,由于自动装配机制仅支持单节点场景,因此开发者可能需要自定义实现部分逻辑以适配复杂拓扑结构的需求[^3]。 --- #### 测试 Redis 功能 确认以上配置无误后,可以编写简单的测试代码验证是否能够正常访问 Redis。例如创建一个名为 `RedisTestController.java` 控制器类并加入下列方法片段[^4]: ```java @RestController @RequestMapping("/api/redis") public class RedisTestController { @Autowired private StringRedisTemplate stringRedisTemplate; @GetMapping("/set/{key}/{value}") public ResponseEntity<String> setValue(@PathVariable String key, @PathVariable String value){ stringRedisTemplate.opsForValue().set(key,value); return ResponseEntity.ok("Key set successfully."); } @GetMapping("/get/{key}") public ResponseEntity<String> getValue(@PathVariable String key){ String result = stringRedisTemplate.opsForValue().get(key); if(result != null){ return ResponseEntity.ok(result); }else{ return new ResponseEntity<>("No such Key", HttpStatus.NOT_FOUND); } } } ``` 此控制器提供了两个 RESTful API 接口分别用来存储键值对数据至 Redis (`/api/redis/set`) 和查询指定键关联的数据 (`/api/redis/get`)。 --- ### 总结 综上所述,要在 Spring Boot 应用程序里启用 Redis 支持,主要分为三个阶段——即增加必要的组件包、调整全局设定以及实际编码实践交互过程中的具体细节处理。这样一套流程下来便能顺利达成目标。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值