spring-data-redis
spring-data-redis copied to clipboard
`ReactiveKeyCommands.Exists` to check multiple key existence
I am using the function to check if a key exist or not, but actually I have a list of keys that needs to be checked. I can't find a func that would accept a list of keys and do this as a bulk check. Is there a reason why this was not implemented? if not, would that be possible to implement it? it is already implemented in jedis.
I have achieved this by the following implementation:
redisOperations.execute { connection ->
val keyCommands = connection.keyCommands()
val existsMonos = keys.map { key ->
keyCommands.exists(ByteBuffer.wrap(key))
.map { it == true }
.onErrorReturn(false)
}
Mono.zip(existsMonos) { it }
}.awaitFirst()
redisOperations
is a ReactiveRedisOperations
type.
The versions:
org.springframework.data:spring-data-redis:3.2.2
java 21.0.2-librca
Kotlin compiler version 1.9.22
Thank you
Currently, exists
supports only single-key arguments. It makes sense to introduce method overloads returning a result for multiple keys.
May I handle this issue? I will figure it out and open PR if possible.
Sure, feel free to have a look @AnneMayor
Thank, @mp911de I will go on after #2905 PR merged :)
Awesome to see that it is being tackled 👏🏻
@kutlueren Hi🙂Thanks for asking. I am handling this issue for now. I am going to open PR within this weekend. If there's no PR after that you can take this one instead🙂
@AnneMayor thanks a lot! I initially wanted to tackle it but it was beyond my comprehension. I am happy to review your PR though 🙂