9.3.2 将 Spring 与 Redis 集成
Spring Data 项目有支持多种数据库选项的模块。在前面的章节中,我们使用了 Spring Data JDBC 和 Spring Data R2DBC 来使用关系数据库。现在我们将使用 Spring Data Redis,它提供对此内存、非关系数据存储的支持。支持响应式和非响应式应用程序。
首先,我们需要在 Edge Service 项目(edge-service)的 build.gradle 文件中添加对 Spring Data Redis Reactive 的新依赖。记住在添加后刷新或重新导入 Gradle 依赖。
代码清单 9.12 添加 Spring Data Redis Reactive 依赖
dependencies {
// ... 其他依赖
implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'
}
然后,在 application.yml 文件中,通过 Spring Boot 提供的属性配置 Redis 集成。除了用于定义 Redis 连接位置的 spring.redis.host 和 spring.redis.port 之外,你还可以使用 spring.redis.connect-timeout 和 spring.redis.timeout 分别指定连接超时和读取超时。
代码清单 9.13 配置 Redis 集成
spring:
redis:
connect-timeout: 2s # 建立连接的时间限制
host: localhost # 默认 Redis 主机
port: 6379 # 默认 Redis 端口
timeout: 1s # 接收响应的时间限制
在下一节中,你将看到如何使用 Redis 来支持提供服务器端限流支持的 RequestRateLimiter 网关过滤器。