spring 如何使用redisson流与unblocked读取?

r3i60tvu  于 2023-04-19  发布在  Spring
关注(0)|答案(1)|浏览(118)

最近想用Redis实现一个队列场景,Redis中有两种方案未定,List还是Stream(5.0以后),但我搜索API时,在stream中没有找到unBlock read API,倒是有List的unBlock API(BLPOP,BRPOP,BRPOPLPUSH),而且我不想写这样的代码

while(true) {
    RStream<Object, Object> stream = redissonClient.getStream(key);
    Map<StreamMessageId, Map<Object, Object>> read = stream.read();
    Thread.sleep(10L);
}

那么我如何才能达到目标呢?(我在项目中使用了Radisson。)
在丽笙酒店找不到合适的API。

7xllpg7q

7xllpg7q1#

你可以这样做:

RFuture<Map<StreamMessageId, Map<Object, Object>>> readFuture = stream.readAsync();

// cancel blocking operation and release the used connection
readFuture.cancel(true);

相关问题