Commit Graph

1723 Commits

Author SHA1 Message Date
Zhian Chen
b41547e825 Replace Lettuce's verifyPeer with verifyMode.
Revert modifying type of VerifyMode for DefaultLettuceClientConfiguration constructor

Closes #2899
Original pull request: #2934
2024-08-08 15:32:54 +02:00
Mark Paluch
4ec61414c2 Polishing.
Reorder methods, reformat code.

Original Pull Request: #2959
2024-08-08 15:16:12 +02:00
Mark Paluch
20688c5a26 Revise RedisKeyValueAdapter to support lifecycle.
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
2024-08-08 15:16:12 +02:00
Christoph Strobl
57c294e508 Polishing.
Move reading shadow copy to dedicated method, update GH issue references, add test and fix formatting.

Original Pull Request: #2955
2024-08-06 10:05:04 +02:00
Lucian Torje
3e8081926d Do not attempt to delete phantom key if ShadowCopy is OFF
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
2024-08-06 10:05:04 +02:00
Mark Paluch
5624f12603 Bundle Javadoc with Antora documentation site.
Closes #2950
2024-07-31 14:29:50 +02:00
Christoph Strobl
8b5f29ec96 Deprecate method instead of removing it.
Original Pull Request: #2935
2024-07-02 08:22:51 +02:00
Seungrae
4203a5bb67 Fix misspelled method name in RedisPersistentEntity.
Resolves: #2933
Closes: #2935
2024-07-02 08:21:32 +02:00
Mark Paluch
d996de2b07 Provide class loader to ProxyFactory to create BoundOperation proxies.
Closes #2920
2024-05-31 09:26:55 +02:00
Mark Paluch
8357c7d88b Polishing.
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
2024-05-21 14:56:17 +02:00
annemayor
33326aa2db Allow configuring custom NullValueSerializer.
Closes #2878
Original pull request: #2905
2024-05-21 14:56:17 +02:00
Mark Paluch
933d5e393e Prepare 3.3 GA (2024.0.0).
See #2893
2024-05-17 11:49:11 +02:00
Mark Paluch
7ca2779ea5 Polishing.
Reformat code.
2024-05-13 15:10:04 +02:00
Roman Osadchuk
2809186e4d Use correct bitfield offset for INCRBY using Lettuce.
Closes #2903
Original pull request: #2901
2024-05-13 15:09:41 +02:00
Mark Paluch
3ab09fbd57 Polishing.
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
2024-04-19 08:57:32 +02:00
Chan Young
c980407f7d Improve atomicity in DefaultRedisCacheWriter.doLock().
Closes #1686
Original pull request: #2879
2024-04-19 08:57:28 +02:00
Christoph Strobl
7fad17a1de Resolve element type from NodeType before falling back to reflection when reading values from JsonNode.
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
2024-04-19 08:22:35 +02:00
Mark Paluch
2f34f63e28 Polishing.
Reduce allocations by reusing IndexDefinition in RemoveIndexedData.

Tweak test method name.

See #2882
Original pull request: #2895
2024-04-19 08:17:47 +02:00
Christoph Strobl
8afabc1fe3 Clear indexed data if property value is set to null.
Closes #2882
Original pull request: #2895
2024-04-19 08:17:41 +02:00
Mark Paluch
2d6481b5c2 Polishing.
Tweak wording.

See #2881
2024-04-16 10:20:00 +02:00
Stephen Kinser
49e5afc80d Mention that keyspace events are not replicated across Redis Cluster shards.
Applications can suffer from missing important Keyspace events as described at https://github.com/spring-projects/spring-session/issues/2230.

This adds a caution to the docs to help others avoid running into this problem.

Closes #2881
2024-04-16 10:19:37 +02:00
Mark Paluch
9cad17171e Let QueryByExampleRedisExecutor implement ListQueryByExampleExecutor.
Closes #2880
2024-04-16 10:07:30 +02:00
Mark Paluch
4c8941df6b Refine ReactiveRedisOperations#listenTo and listenTo…Later Javadoc mentioning resource usage.
Closes #2229
2024-04-16 09:54:53 +02:00
Mark Paluch
ddaeaeec83 Prepare 3.3 RC1 (2024.0.0).
See #2874
2024-04-12 10:50:27 +02:00
Mark Paluch
7a94beb467 Allow RedisConnectionFactories to be initialized as part of the context lifecycle.
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
2024-04-11 15:34:05 +02:00
Christoph Strobl
779a0126e5 Polishing.
Avoid duplicate method lookup by keeping reference to Method.
Add missing native image hints for command proxies.

Original Pull Request: #2887
2024-04-11 13:35:27 +02:00
Mark Paluch
eed4c2af40 Consider intermediate command interface in ConnectionSplittingInterceptor.
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
2024-04-11 13:31:58 +02:00
Mark Paluch
6f28b530b0 Use Lettuce functionality for Cluster commands where possible.
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
2024-04-10 16:05:56 +02:00
Mark Paluch
d785b5f870 Accept CompletableFuture subtypes for Lettuce pipelining.
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
2024-04-10 14:41:06 +02:00
Mark Paluch
4f2840f111 Prepare 3.3 M2 (2024.0.0).
See #2849
2024-03-15 11:07:10 +01:00
Mark Paluch
27bf779fab Polishing.
Tweak wording.

See #2865
Original pull request: #2870
2024-03-14 15:03:17 +01:00
Egor Ponomarev
a4663d2a0b Update documentation of transactions page.
Closes #2865
Original pull request: #2870
2024-03-14 15:03:17 +01:00
Mark Paluch
7e3986b8bd Fix reference code example to use values required for the example.
Closes #2869
2024-03-14 14:49:14 +01:00
Mingron
00c825bd96 Fix quoted variable reference in documentation.
Closes #2850
2024-03-04 15:25:44 +01:00
Kit
7c3546474e Fix variable name in reference documentation.
Closes #2852
2024-03-04 15:21:48 +01:00
Mark Paluch
761115ab37 Polishing.
Deprecate RedisSentinelConfiguration and RedisClusterConfiguration constructors taking PropertySource in favor of a factory method.

Reformat code. Update documentation.

See #2860
Original pull request: #2861
2024-03-01 14:10:31 +01:00
Mustapha Zorgati
f9a763e55a Extend properties for RedisSentinelConfiguration.
Closes #2860
Original pull request: #2861

Co-authored-by: Samuel Klose <39386136+samKl99@users.noreply.github.com>
2024-03-01 14:10:23 +01:00
Mark Paluch
9543076752 Add support for DTO projections.
See: #2851
Original Pull Request: #2854
2024-02-23 10:38:15 +01:00
Mark Paluch
3c44521026 Use by-id lookup for queries referring to identifier values.
Closes: #2851
Original Pull Request: #2854
2024-02-23 10:36:22 +01:00
Christoph Strobl
9417e196f0 Prepare 3.3 M1 (2024.0.0).
See #2778
2024-02-16 14:37:01 +01:00
Christoph Strobl
505fd846ae Use Redis 7.2 for build.
Update jenkinsfile to test against redis 7.2
Replace usage of DEBUG command.
Provide Redis server version and client lib version to maven build system / gradle cache.

Original Pull Request: #2802
2024-02-07 15:43:16 +01:00
Mark Paluch
4da3169a0b Encapsulate Redis Scan CursorId.
We now retain the raw cursor value without attempting to convert it into a long as Redis uses 64 bit unsigned integers exceeding Long.MAX_VALUE.
Fix broken id parsing for unsigned long value
Update deprecation warnings and method visibility.

See: #2796
Closes: #2802
2024-02-07 15:43:16 +01:00
Gabin, Matthieu-MIGROSONLINE
3e8cd16279 Fix method name in Caching reference documentation.
Closes #2837
2024-01-25 09:12:16 +01:00
Mark Paluch
aa7045ab95 Remove redundant assertion from RedisTemplate.afterPropertiesSet(…).
Closes #2832
2024-01-19 09:35:32 +01:00
Mark Paluch
25a6981544 Polishing.
Reformat code.

See #2831
2024-01-18 11:01:27 +01:00
Mark Paluch
75e51f5b39 Deprecate LettuceConnectionFactory.setDatabase(…) in alignment with JedisConnectionFactory.setDatabase(…)
See #2831
2024-01-18 11:01:26 +01:00
Mark Paluch
707184f7e2 Update deprecation description of JedisConnectionFactory.setDatabase(…).
Mention database index instead of client name.

Closes #2831
2024-01-18 11:01:26 +01:00
谭九鼎
014634e94c Fix reference documentation for Stream ops usage.
Closes #2825
2024-01-11 14:46:28 +01:00
Mark Paluch
b6e4951345 Polishing.
Add missing property editors to inject requested operations.

See #2828
2024-01-11 14:46:27 +01:00
Mark Paluch
86b97e38e3 Fix documentation to use resource injection for RedisTemplate operations.
Closes #2828
2024-01-11 14:46:27 +01:00