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
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
Add getFirst/getLast to Reactive and Bound Operations.
Simplify getLast implementation.
Reorder methods, tweak Javadoc, add since tags.
Original pull request: #2966
See #2937
Remove verifyMode setters on LettuceConnectionFactory to not expose additional properties already exposed via ClientConfiguration.
Deprecate LettuceClientConfiguration.isVerifyPeer in favor of getVerifyMode.
See #2899
Original pull request: #2934
RedisKeyValueAdapter is now a lifecycle bean participating in Spring's SmartLifecycle support. Sticking to Lifecycle aligns with lifecycle support in RedisConnectionFactory where connections are stopped upon shutdown.
Previously, RedisKeyValueAdapter stopped connections upon destroy() causing a delayed shutdown behavior that was out of sync with its RedisConnectionFactory.
Closes: #2957
Original Pull Request: #2959
This commit makes sure to consider the ShadowCopy flag for expiring key events and prevents delete attempts if shadow copy is off.
Closes: #2954
Original Pull Request: #2955
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