The API exposes now the renamed command terminology (replica) only and no longer the deprecated one.
Closes: #2195
See: #2274
Original Pull Request: #2276
Update since tags. Move FlushOption converters to client-specific converters. Use method-references where possible.
See #2187
Original pull request: #2190.
Add support for MINID trimming. Add tests. Extract Jedis XAddParams conversion to StreamConverters.
Reorder methods. Simplify StreamRecord creation.
See #2247
Add since tags. Consistently document scan command with try-with-resources guidance. Use try-with-resources in tests.
See #2260
Original pull request: #2263.
Allow Jedis to exist pub/sub loop gracefully. Await unsubscribe. Reduce retry backoff to allow from broken connection recovery. Do not use pooling to avoid using broken connections.
See #2256
RedisMessageListenerContainer is now reimplemented using non-blocking synchronization guards and a state management to simplify its maintenances. Additionally, listener registration and subscription setup through the start() method awaits until the listener subscription is confirmed by the Redis server. The synchronization removes potential race conditions that could happen by concurrent access to blocking Redis connectors in which the registration state was guessed and not awaited.
Resolves: #964
Original Pull Request: #2256
We now properly extract the byte array from a ByteBuffer by copying its content respecting the read position and limits.
Closes#2204
Original Pull Request: #2213
We now return a list containing a single empty KeyValue element when ReactiveHashOperations.hMGet(…) called for a single key returns no value.
Previously, the code used onErrorReturn(…) which returned the wrong value and suppressed errors.
Closes#2210
We now no longer try to cast the Lettuce connection to StatefulRedisConnection when eagerly initializing the shared connection. Instead, we now introduced another method to obtain the cluster connection.
Closes#2186
We now no longer configure the database number configured for data node access through JedisClientConfiguration instances that are used for Sentinel node connectivity. Previously, the configured database number lead to issuing a SELECT command on Sentinel that doesn't support database isolation.
Fixes: #2103.
Original Pull Request: #2112
Move the type method from KeyScanOptionsBuilder to the ScanOptionsBuilder to allow removal of the former.
Add a test for the reactive variant and allow SCAN tests with TYPE option to be executed starting with Redis 6.0.
Original Pull Request: #2109
Add missing Javadoc. Add trim overload accepting long to avoid potential integer downcasting. Add factory methods to RedisList.
See: #2039
Original Pull Request: #2107
Introduce factory methods on RedisSet for easier construction of RediSet. Add javadoc.
Revise clear method to perform a DEL command instead of empty set intersection.
See #2037
Original Pull Request: #2105
Allows querying with a single command whether multiple elements are members of a set. Also, refine DefaultRedisSet.containsAll(…) implementation.
Closes#2037
Original Pull Request: #2105
Add randomKey() and randomEntry() to RedisHash.
Update documentation and align methods with java terminology around keys vs. fields in hashes.
Move Converters off their custom Map.Entry implementation and use SimpleImmutableEntry instead.
Switch code that creates Map.Entry to the newly introduced Converters.entryOf method.
See: #2048
Original Pull Request: #2104