Redis Reactive 成员和 hMGet Flux

Redis Reactive sMembers and hMGet Flux

我是响应式编程的新手。我正在尝试使用 Spring Webflux for smembers 以反应方式查询 Redis,然后使用该结果需要查询 hmget。 sMembers 查询的结果是 Flux>,hMGet 正在期待 第二个参数作为 Collection。我不确定如何以正确的方式编写此函数。有人可以帮我更正这个问题吗?

    return Flux.just(keys)
            .map(key -> { 
                 return reactiveClusterSetCommands.sMembers(ByteBuffer.wrap(key.getBytes())).flatMap(a ->  reactiveClusterHashCommands.hMGet(ByteBuffer.wrap(hash(key).getBytes()),a));
            });

使用 Flux.collectList()Flux<String> 收集到集合成员的 Mono<List<String>> 中,然后使用 flatMapMany 调用带有集合成员列表的 HMGET

Flux.fromIterable(keys)
  .flatMap(key -> {
    ByteBuffer keyBytes = ByteBuffer.wrap(key.getBytes());
    Mono<List<String>> setMembersMono = commands.sMembers(keyBytes).collectList();
    ByteBuffer hashKeyBytes = ByteBuffer.wrap(hash(key).getBytes());
    setMembersMono.flatMapMany(setMembers -> commands.hMGet(hashKeyBytes, setMembers));
  });