We now track subscriptions and unsubscriptions in the reactive API to ensure that we do not prematurely unsubscribe from a channel or pattern if the topic was subscribed multiple times.
Original Pull Request: #2467
We now support construction of RedisCredentialsProvider through LettuceClientConfiguration and RedisCredentialsProviderFactory.
The default implementation adapts credentials configured in RedisConfiguration objects.
Closes: #2376
Original Pull Request: #2387
Add reactive ZRANGESTORE support. Support rangeAndStore in RedisZSet.
Refine assertion messages. Refine overloads.
Original pull request: #2370.
See #2345
Consistently use clear(…) as method name. Use configured cache key serializer instead of the conversion service.
See #2379
Original pull request: #2380.
For the Jedis-based implementations of bzpopmin and bzpopmax, a NPE is
thrown if the provided timeout elapses and the server responds with a
null array.
Closes#2324
We now use correctly null to indicate absent keys when using reactive MGET. Previously, we used an empty byte buffer that could be incorrectly translated to an empty string when using the string codec. An empty byte buffer can also be returned if the value length is zero leading to a state that doesn't allow distinguishing between absence and empty value.
Closes#2402
We now unsubscribe from Redis only once when closing a Subscription object to avoid duplicate traffic and unexpected Redis responses.
Jedis does not have a mechanism to consume the additional unsubscribe response which leaves protocol frames on the InputStream leading to a corrupt state.
Closes#2355
This commit makes sure to avoid typing of primitive wrapper types wrapped inside what is considered a jackson ReferenceType (such as Optional, AtomicReference,...).
Original Pull Request: #2364
We now ensure proper exception handling in connection close methods to avoid resource leaks. Also, exceptions during connection close are no longer thrown to ensure proper resource cleanup behavior and API design.
See #2356
We now ensure proper exception handling in close methods to avoid resource leaks. Also, exceptions during connection close are no longer thrown to ensure proper resource cleanup behavior and API design.
Closes#2356
We now support configuration of a bean reference to RedisMessageListenerContainer that should be used with `RedisKeyValueAdapter` for easier configuration of the listener container.
Closes#1827
We now encapsulate serialization and deserialization operations as JacksonObjectWriter and JacksonObjectReader functions to allow customization of Jackson serialization.
Closes: #2322
Original Pull Request: #2332