问题标签 [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.
java - 如何使用 lettuce java 库持续监听 redis 流
我正在尝试收听 redis 流并在消息到达时处理消息。我正在使用异步命令,我希望消息被推送而不是被拉取。所以我认为不需要while循环。但是下面的代码似乎不起作用。
它只打印程序启动时流的任何内容,而不打印程序运行时添加的消息。不是应该为新添加到流中的每条消息调用回调吗?
java - 添加模块“spring integration redis”,打印出“XXX 不符合所有 BeanPostProcessors 处理的条件
我正在集成 spring integration-redis 模块以使用 RedisLockRegistry。但是我在spring boot启动时得到了以下日志。
1.如何创建errorChannel bean,taskScheduler bean和ThreadPoolTaskScheduler bean,以便我可以获得这些信息的网格,如警告?
2. IntegrationManagementConfiguration、integrationChannelResolver 和 integrationDisposableAutoCreatedBeans 会给我的应用程序带来问题吗?
3.如何解决以下日志的这些情况?
jackson - Spring WebSession Redis 异常
我想将我的WebSession存储在 Redis 中。put 操作没有问题,但是在检索存储的记录时会抛出异常。这是我的示例堆栈跟踪
temporal.ChronoUnit","SECONDS"],["java.time.temporal.ChronoUnit","NANOS"]]]"[截断 18 字节];行:1,列:1]
我该如何解决这个问题?我不明白为什么会这样?谢谢。
这是我的会话服务。
这是我的redis配置。
redis - 在 Spring Data Redis Reactive 中存储对象列表的正确方法
我需要在 Redis 中存储一个对象列表。应该访问列表的每个元素以获取唯一键。为此,我认为对象列表应该存储为 Redis 中的对象映射(我之前转换为 String 来存储它):
当我使用 RedisTemplate (命令式)实现它时,我使用了这种方法。现在,我正在使用 Reactive Redis,我想知道正确的方法是什么。我在 Spring Redis 中看到存在ReactiveListOperations
接口。
目前我有以下代码,但是当我执行时,Redis 没有返回任何值。我想如果我使用正确的方法来实现它。
提前致谢!
spring-boot - Spring actuator 在启动期间错误退出健康检查:RedisReactiveHealthIndicator:Redis 健康检查失败
在 spring boot 升级到2.2.11.RELEASE后,我们看到以下错误。我认为第一次运行状况检查是否因以下错误而失败,但是当我调用运行状况端点时,我看到运行状况检查成功。
2020-12-28 05:42:08.840 WARN 1 --- [oundedElastic-8] osbarRedisReactiveHealthIndicator:Redis 健康检查失败 org.springframework.data.redis.RedisConnectionFailureException:无法连接到 Redis;嵌套异常是 io.lettuce.core.RedisConnectionException: Unable to connect to xc-dev-redis.xylem-cloud.com:6379 at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.translateException(LettuceConnectionFactory.java :1511) ~[spring-data-redis-2.2.11.RELEASE.jar!/:2.2.11.RELEASE] at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.getConnection(LettuceConnectionFactory.java: 1419)〜[spring-data-redis-2.2.11.RELEASE.jar!/:2.2.11.RELEASE]在org.springframework.data.redis.connection.lettuce。
这是来自健康端点的响应:
java - 可以检索在 redis-cli 中手动设置的值,但无法通过 Spring Boot 中的 Redis Reactive 设置新键
我正在使用 Spring Webflux + Reactive Redis,我的目标是使用 Redis 作为文件缓存。
起初我试图设置一个 ~100MB ByteBuffer 的密钥,但没有奏效。我仔细检查了调试器,以确保文件确实被读入内存,而且确实如此。我想“也许 Redis 不喜欢“大”字符串?所以我尝试了下面的代码,仍然没有骰子。以为可能是 ACL 相关问题,但我检查了默认用户可以访问所有内容。“也许Spring无法访问Redis?” 不,我在 redis-cli 中检查了 MONITOR 输出,并且接收到了 GET 命令,但没有任何 SET 命令的迹象。有什么建议么?
这是我的控制器:
application.properties 中的相关设置:
redis-cli 输出(testkey 是在 CLI 中手动设置的,没有 testkey2 的迹象):
编辑:忘了提到没有堆栈跟踪,也没有任何类型的错误输出到控制台。
spring-data-redis-reactive - ReactiveRedisTemplate 缓存未命中
我们如何使用ReactiveRedisTemplate<String, String>处理缓存未命中场景?此外,需要记录来自底层 Redis 缓存的任何错误并将其视为缓存未命中。
请建议。
redis - redisTemplate.opsForValue().get('id') 返回始终为空
每次在值存在时调用 opsForValue().get('id') 时,我都会得到空结果。
我的配置类:
我的服务等级:
注意:shopsOps.set(shopId, shop).subscribe()
在 Redis 中正确保存数据但shopsOps.get(shopId)
一直返回空;
redis - Redis Stream Producer 交付订单
我有redis stream
生产者,我对生产者发送到 redis 的记录顺序有疑问。
Redis 客户端用于TCP
执行命令。https://redis.io/topics/protocol#networking-layer
消息可以在 中乱序传递multiple TCP connections
。TCP报文的顺序?
假设我的生产者执行命令发布record-A
到 redis,然后执行另一个命令发布record-B
。我希望那record-A
是之前交付 record-B
的。但由于 TCP 的性质,它们可能会乱序交付。
是否有任何机制支持交货单?我正在使用spring-boot-starter-data-redis-reactive
(和lettuce
内部客户端)作为 redis 客户端。
redis - 当我尝试链接调用时,反应式 redis 挂起
嗨,我有以下代码
第一个调用从 redis 获取 id,第二个调用使用 id 获取文档。第一个电话有效,但第二个电话永远挂起,我必须杀死该应用程序。更多信息它们是连接到同一个 redis 服务器的 2 个不同的 redis 模板,尽管我使用相同的 redis 模板似乎没有什么区别。