我想发布 key 列表,但仅限于修改 key 时。
通过以下内容,即使没有任何更改,它也会以无限循环的方式发布值
RedisReactiveCommands<String, String> commands = connection.reactive();
return commands
.keys(String.format(AWAITING_USER_KEY_FORMAT, "*")) // returns Flux<String>
.collectList() // returns Mono<List<String>>
.repeat(); // returns Flux<List<String>>
如何才能仅在列表发生变化时才发布列表?
最佳答案
distinctUntilChanged:“抑制 Observable 发出的重复项”
RedisReactiveCommands<String, String> commands = connection.reactive();
return commands
.keys(String.format(AWAITING_USER_KEY_FORMAT, "*"))
.collectList()
.repeat()
.distinctUntilChanged();
这将发布等待用户的整个列表,每当列表更新(删除或添加元素)时都会发布响应
关于java - 仅当源更新时才从 Flux<String> 发布到 Flux<List<String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62064690/