问题标签 [spring-data-redis-reactive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
project-reactor - 使用 Reactor Kafka 和 Reactive Redis 构建反应式管道
我正在使用 Kafka 和 Redis 构建反应式管道。现有服务使用来自 Apache Kafka 的事件,应用业务逻辑并最终更新 Redis 集。我正在重构服务以使用反应式 API。
这是使用反应式 API 的示例代码。
以及过程记录
执行后的日志。
我观察到lettuce-nioEventLoop线程甚至用于处理 kafka 事件和 lettuce 回调。我不明白这种行为。有人可以阐明一下吗?
spring-data-redis-reactive - Spring Data Redis Reactive:StreamReceiver 到协程流程
我正在使用 Spring Data Redis 编写一个与 Redis Stream 一起使用的应用程序。我spring-data-redis
用生菜。我可以成功写入流,因为我可以通过 redis-cli 直接在 Redis 中验证它,并且我看到消息在 Redis 中。当谈到使用从流中读取时StreamReceiver
,它有点工作,但我的协程版本的测试失败了。
所以,我已经实现了两个版本来读取不同的返回类型:
Flux<TestData>
. 我使用reactor-test
类对其进行测试,类似于 Spring Data Redis 团队所做的。它工作正常:收到的物品被打印出来并且测试通过。Flow<TestData>
. 我使用 FlowTurbine 对其进行测试。即使打印出收到的物品,此测试也会失败;FlowTurbine 只是超时。我尝试使用直接阻塞Flow.toList()
而不是 Turbine 的test
,但在这种情况下,调用只会永远阻塞。当我处理 Flow 时,我可能做错了什么。我究竟做错了什么?以及如何解决?
TestDataRedisRepository.kt
内容:
测试课TestDataRedisRepositoryTest.kt
内容:
我的RedisConfig.kt
内容:
TestData.kt
Redis 在默认端口上的 Docker 容器中运行。为了完整起见,这里是aplication.yaml
和build.gradle.kts
:
spring-cloud-gateway - 在 SpringCloudGateway 中更改 RateRequestLimiter 的默认行为
SpringCloudGateway 是一个很棒的项目,有很多自定义选项,但我遇到了一个问题,我希望 RateRequestLimiter 的默认行为 - 返回 429(太多请求)进行更新。
自定义行为 - 我希望将超过阈值(基于请求有效负载)的请求重定向到特定的应用程序实例,而不是被彻底拒绝。
我正在寻找可以实现这一目标的方法。
谢谢
redis - ReactiveRedisTemplate 列表操作 - 设置过期和 TTL
此集成测试使用 ReactiveRedisTemplate 列表操作来:
使用 ReactiveRedisTemplate 列表操作 leftPushAll() 将 List 推送到缓存
使用 ReactiveRedisTemplate 列表操作 range() 从缓存中检索列表作为通量,以检索列表中从索引 0 到列表中最后一个索引的所有元素
这个测试工作正常。我的问题是——存储在缓存中的这些 List 对象的 EXPIRY 和 TTL 是如何控制的?
我问的原因 - 在我的本地 Redis 服务器上,我注意到它们在缓存中保留了几个小时,但是当我对托管在 AWS 上的 Redis 服务器运行此代码时,列表对象似乎只保留在缓存中30分钟。
是否有可用于控制列表对象 TTL 的配置属性?
谢谢,理想情况下,我希望更好地控制这些对象在缓存中的保留时间。
java - 在 Spring 中链接对 redis 的响应式调用
我正在尝试获取所有键,然后使用ReactiveRedisTemplate
Spring Data Redis中的 a 获取它们的所有值
(我知道这scan
是可取的,但我现在想保持简单,除非这是我的问题)
代码片段:
问题是我得到了这个输出:
我希望:
我是 rx-java 的新手,所以我可能遗漏了一些东西。