springboot3 redis
时间: 2025-03-05 11:45:14 浏览: 26
### Spring Boot 3 中集成和使用 Redis 的方法
#### 添加依赖项
为了使项目能够连接并操作 Redis 数据库,在 `pom.xml` 文件中需引入相应的 Starter 依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
此配置允许应用程序通过 Spring Data Redis 访问 Redis 实例[^1]。
#### 配置 Redis 连接属性
接着定义应用所需的 Redis 设置,通常是在 `application.properties` 或者 `application.yml` 文件内完成。例如采用 YAML 格式的配置如下:
```yaml
spring:
redis:
host: localhost
port: 6379
password: your_password_if_any
lettuce:
pool:
max-active: 8
max-idle: 8
min-idle: 0
```
上述设置指定了主机地址、端口号以及其他可选参数如密码等信息来建立与 Redis Server 的通信链路。
#### 编写 Repository 接口或 Service 类实现数据存取功能
创建一个接口继承自 `ReactiveRedisOperations<String, String>` 或者基于同步模式下的 `RedisTemplate<K,V>` 来封装 CRUD 方法。这里给出异步版本的一个简单例子:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ReactiveRedisOperations;
import reactor.core.publisher.Mono;
public class UserRepository {
private final ReactiveRedisOperations<String, User> operations;
@Autowired
public UserRepository(ReactiveRedisOperations<String, User> operations) {
this.operations = operations;
}
public Mono<Void> saveUser(User user){
return operations.opsForValue().set(user.getId(), user).then();
}
// Other methods...
}
```
这段代码展示了怎样利用泛型化的模板对象来进行键值对形式的数据存储操作。
#### 测试 Redis 功能
最后编写单元测试验证以上组件能否正常工作。可以借助 JUnit 和 Mockito 工具模拟环境变量和服务调用过程中的交互行为。
```java
@SpringBootTest
class UserServiceTest {
@Autowired
private UserService userService;
@Test
void contextLoads() {}
@Test
void testSaveAndFindById(){
User newUser = new User("id", "name");
userService.save(newUser);
Optional<User> result = userService.findById("id");
assertTrue(result.isPresent());
assertEquals("name",result.get().getName());
}
}
```
这样就完成了整个流程的设计说明。
阅读全文
相关推荐
















