We now select the database on the dedicated connection. Previously, this call never happened on the dedicated connection and the only way a database could be selected is through the ConnectionFactory configuration.
Closes: #2984
Original Pull Request: #2990
Move maxTime calculation for topology refresh to and delegate shouldUseCachedValue() to newly introduced overload.
Retain application flow as much as possible.
Original Pull Request: #2989
We now use a value object for caching the topology to avoid races in updating the cache timestamp.
Also, we set the cache timestamp after obtaining the topology to avoid that I/O latency expires the topology cache.
Closes: #2986
Original Pull Request: #2989
Redis secondary-index keys are now formatted using helper methods instead of using chains of concatAll(toBytes(…)) sequences for more readability.
Original pull request: #2795Closes: #2794
Revise builder. Accept builder components in builder methods instead of the builder factory method. Enforce valid parameters instead of lenient, potentially null parameters.
Introduce configuration means to control default typing. Extend tests.
See #2878
Original pull request: #2905
Refine unlocking by checking whether the lock was actually applied.
Reduce allocations, refine test assertions to check for concurrency.
See #1686
Original pull request: #2879
This commit changes the node value retrieval so that it first tries to determine the node type before falling back to reflective access of the _value field.
Closes#2838
Original pull request: #2842
Lettuce and Jedis connection factories now can be configured to initialize early during afterPropertiesSet or configured whether the component should be auto-started by the container.
By default, connection factories auto-startup early.
Closes#2866
Original Pull Request: #2868
We now consider requests to command API objects such as RedisConnection.keyCommands() in ConnectionSplittingInterceptor to identify the correct command and route it accordingly.
Closes: #2886
Original Pull Request: #2887
We now remove our own code in favor of Lettuce's advanced cluster support to leverage asynchronous functionality in pipelining.
Document pipelining restrictions regarding Redis Cluster.
Original Pull Request: #2889
We now no longer require RedisCommand but resort to CompletableFuture as the general asynchronous result type for Lettuce pipelining to allow subtypes such as PipelinedRedisFuture.
Closes: #2888
Original Pull Request: #2889