Commit Graph

1674 Commits

Author SHA1 Message Date
Mark Paluch
36cd33fa22 DATAREDIS-768 - Consider map key type in MappingRedisConverter.readMap…(…).
We now consider the key type when reading a map from a Redis Hash. Previously, map keys were read as string while a map could declare numeric keys.

Original Pull Request: #312
2018-02-16 13:15:06 +01:00
Mark Paluch
f39efff275 DATAREDIS-715 - Polishing.
Rename prefixKeysWith(CacheKeyPrefix) to computePrefixWith(…) and drop computePrefixWith(Function) in favor of CacheKeyPrefix. Refactor nullable keyPrefix to non-nullable. Extract default prefixing scheme to CacheKeyPrefix.simple().

Original pull request: #313.
2018-02-16 11:50:38 +01:00
Christoph Strobl
dfa4be394f DATAREDIS-715 - Allow computation of cache key prefix.
We now allow, in addition to a static key prefix, the computation of prefixes based on the cache name. This change introduces an alternative to the in 2.x removed org.springframework.data.redis.cache.RedisCacheKey, and gives users more control over cache key generation.

Original pull request: #313.
2018-02-16 11:50:18 +01:00
Mark Paluch
2e46e3b5ad DATAREDIS-767 - Polishing.
Align field naming and semantics with builder. Extend JavaDoc.

Original pull request: #311.
2018-02-15 11:37:39 +01:00
Christoph Strobl
5723cc6800 DATAREDIS-767 - Add flag to disable in flight Cache creation.
We now provide a flag to disable the in flight cache creation for unconfigured caches. This gives eg. a CompositeCacheManager the possibility to chime in.

Original pull request: #311.
2018-02-15 11:37:18 +01:00
Christoph Strobl
b00c4f5f6b DATAREDIS-710 - Updated changelog. 2018-02-06 11:14:03 +01:00
Mark Paluch
7b07d43007 DATAREDIS-765 - Enable pooling when configuring Jedis to use Redis Sentinel.
We now enable pool usage when configuring JedisConnectionFactory with RedisSentinelConfiguration to prevent accidental connections using the non-pooled standalone configuration. Jedis can operate with Sentinel only with pooling.

We also reject calls to disable pooling when JedisConnectionFactory is configured to use Sentinel.

Original Pull request: #307
2018-02-01 15:09:29 +01:00
Mark Paluch
a121e27291 DATAREDIS-737 - After release cleanups. 2018-01-24 13:46:10 +01:00
Mark Paluch
09fb1cfe07 DATAREDIS-737 - Prepare next development iteration. 2018-01-24 13:46:09 +01:00
Mark Paluch
8683605599 DATAREDIS-737 - Release version 2.0.3 (Kay SR3). 2018-01-24 13:21:24 +01:00
Mark Paluch
fdff7cc166 DATAREDIS-737 - Prepare 2.0.3 (Kay SR3). 2018-01-24 13:20:39 +01:00
Mark Paluch
a52bd9a74e DATAREDIS-737 - Updated changelog. 2018-01-24 13:20:37 +01:00
Mark Paluch
98106174f8 DATAREDIS-759 - Fix line endings to LF. 2018-01-24 13:04:22 +01:00
Mark Paluch
aa58ee1c61 DATAREDIS-736 - Updated changelog. 2018-01-24 12:22:16 +01:00
Christoph Strobl
167c9080ba DATAREDIS-756 - Polishing.
Visibility modifications.

Original Pull Request: #303
2018-01-23 09:55:40 +01:00
Mark Paluch
0394d5f6d0 DATAREDIS-756 - Order results of partitioned multi-key commands by positional keys.
We now order and assemble results of multi-key commands (e.g. MGET with cross-slot keys) that are executed on different nodes by positional keys to retain duplicate keys in the requested order and retain the server response.

Previously duplicate keys were treated as set of keys and the response didn't match the requested keys.

Original Pull Request: #303
2018-01-23 09:55:30 +01:00
Mark Paluch
2a804bc67a DATAREDIS-605 - Increase visibility of Lettuce SSL configuration builder methods.
Builder methods of LettuceSslClientConfigurationBuilder and LettucePoolingClientConfigurationBuilder are public now.
2018-01-17 10:33:10 +01:00
Mark Paluch
4c5f705ad0 DATAREDIS-751 - Update copyright years to 2018. 2018-01-17 10:32:22 +01:00
Christoph Strobl
cb60e724be DATAREDIS-714 - Polishing.
Add unit tests.

Original Pull Request: #291
2018-01-12 10:02:36 +01:00
Mark Paluch
2815da6d82 DATAREDIS-714 - Use Jedis API for database selection.
We now rely more on Jedis to select the appropriate Redis database and we no longer select the database when opening/closing a connection. Previously, we always reset the database if a database index greater zero was configured.
A properly configured Jedis pool ensures that the appropriate database is selected even if the database was selected during connection interaction.

Relying on Jedis reduces the number of issued SELECT commands and improves that way overall performance when executing commands via the Template API.

Original Pull Request: #291
2018-01-12 10:01:25 +01:00
Christoph Strobl
1ae3558312 DATAREDIS-744 - Polishing
Move binary lookup methods to ByteUtils, update license headers and restore altered tests by creating additional ones.

Original Pull Request: #298
2018-01-11 15:46:22 +01:00
Mark Paluch
87616b4554 DATAREDIS-744 - Support Redis hashes with colon in their id.
We now support Redis hashes via Repository support that contain colon in their id. We're using colons to split a composite id string into keyspace and id parts. Previously, we partially rejected processing of id's that don't exactly match the number of parts delimited by colon. This caused leftovers in secondary indexes.

Original Pull Request: #298
2018-01-11 15:38:23 +01:00
Mark Paluch
16cd1ef659 DATAREDIS-738 - Align changelog layout with other modules.
Remove links to Jira Github branches. Fix letter casing.
2017-12-02 15:45:23 -08:00
Mark Paluch
373f5a6a8e DATAREDIS-723 - After release cleanups. 2017-11-27 16:42:55 +01:00
Mark Paluch
4d44c8efdb DATAREDIS-723 - Prepare next development iteration. 2017-11-27 16:42:53 +01:00
Mark Paluch
699777dbc4 DATAREDIS-723 - Release version 2.0.2 (Kay SR2). 2017-11-27 16:12:35 +01:00
Mark Paluch
78da50a313 DATAREDIS-723 - Prepare 2.0.2 (Kay SR2). 2017-11-27 16:11:22 +01:00
Mark Paluch
a933e18b3e DATAREDIS-723 - Updated changelog. 2017-11-27 16:11:20 +01:00
Mark Paluch
735cd0831c DATAREDIS-717 - Updated changelog. 2017-11-27 15:58:49 +01:00
Mark Paluch
cca84414d6 DATAREDIS-735 - Upgrade to Lettuce 5.0.1. 2017-11-16 19:13:24 +01:00
Mark Paluch
aa4870b8b5 DATAREDIS-706 - Polishing.
Add author tag. Replace JedisCluster…Commands constructors with RequiredArgsConstructor annotation.

Original pull request: #278.
2017-11-16 15:39:36 +01:00
Xiaohu Zhang
9e5b958919 DATAREDIS-706 - Remove redundant null checks from JedisClusterStringCommands.set(…).
Original pull request: #278.
2017-11-16 15:39:33 +01:00
Zhiwei Sun
d6c3e52f84 DATAREDIS-733 - Fix typo in ValueOperations Javadoc link.
Original pull request: #269.
2017-11-16 14:49:00 +01:00
Kezhu Wang
913b4167d1 DATAREDIS-727 - Fix RedisCacheManagerBuilder Javadoc.
Document what actually happens.

Original pull request: #292.
2017-11-16 14:40:14 +01:00
Mark Paluch
c454f42b91 DATAREDIS-728 - Polishing.
Add tests. Add author tag.

Original pull request: #293.
2017-11-16 12:45:56 +01:00
Kezhu Wang
ecb19f4a8b DATAREDIS-728 - Fix unnecessary initial caches map creation in RedisCacheManagerBuilder.
We now reuse the initially created map and add or replace initial configurations in place instead of creating each time a new map.

Original pull request: #293.
2017-11-16 12:45:56 +01:00
Oliver Gierke
f4fd439226 DATAREDIS-709 - After release cleanups. 2017-10-27 15:50:49 +02:00
Oliver Gierke
82cb6e8f85 DATAREDIS-709 - Prepare next development iteration. 2017-10-27 15:50:46 +02:00
Oliver Gierke
bc76760285 DATAREDIS-709 - Release version 2.0.1 (Kay SR1). 2017-10-27 15:25:12 +02:00
Oliver Gierke
aceee29901 DATAREDIS-709 - Prepare 2.0.1 (Kay SR1). 2017-10-27 15:24:26 +02:00
Oliver Gierke
88acc0eef4 DATAREDIS-709 - Updated changelog. 2017-10-27 15:24:21 +02:00
Christoph Strobl
f31c8463b9 DATAREDIS-720 - Polishing.
Add missing @Nullable annotation, use early return and favor while(true) over for(;;).

Original Pull Request: #290
2017-10-24 18:29:18 +02:00
Mark Paluch
2a6c3aa206 DATAREDIS-720 - Refactor shared connection lifecycle handling in LettuceConnectionFactory.
We now wrap shared connections in a SharedConnection wrapper that encapsulates the lifecycle and validation/reset methods.

Original Pull Request: #290
2017-10-24 15:12:32 +02:00
Mark Paluch
d203a80282 DATAREDIS-720 - Reuse shared connection across reactive connection wrappers.
We now reuse a shared Lettuce connection across our reactive connection wrappers if LettuceConnectionFactory is configured to provide a shared connection instance. Reactive connections can either operate with a shared connection or with a connection provider only.

We also now execute blocking Redis commands (BLPOP, BRPOP, BRPOPLPUSH) on dedicated connection.

Original Pull Request: #290
2017-10-24 15:12:25 +02:00
Mark Paluch
b0b27bb09f DATAREDIS-719 - Use asynchronous Lettuce API for transactions.
We now use the asynchronous API to dispatch commands within a transaction using the Lettuce driver. This allows us dropping our additional result wrappers and use a single, uniform api for deferred results.

Original pull request: #289.
2017-10-23 13:58:20 +02:00
Mark Paluch
9d11d4010f DATAREDIS-719 - Polishing.
Fix generics for accepted Future, Supplier and Converter. Introduce generics for status responses. Add Javadoc, use synchronous API for exists call.

Original pull request: #289.
2017-10-23 13:53:41 +02:00
Christoph Strobl
6353c5af10 DATAREDIS-719 - Rework FutureResult and implementations for Jedis/Lettuce.
We now encapsulate deferred results for pipelining and transactions entirely within FutureResult and its subtypes. FutureResult accepts a Supplier<T> for default values, if operations return null and reports whether its result requires conversion. JedisResult and LettuceResult are now top-level classes and no longer inner classes of their connection factories.

Original pull request: #289.
2017-10-23 13:52:40 +02:00
Christoph Strobl
e53335f0ae DATAREDIS-619 - Polishing.
Add dedicated section on executing lua scripts via the reactive infrastructure, rephrase some other parts adapt non-Javadoc comments to code style.

Original Pull Request: #280
2017-10-12 16:03:35 +02:00
Mark Paluch
17676dc681 DATAREDIS-619 - Document reactive Redis Template.
Original Pull Request: #280
2017-10-12 16:03:19 +02:00
Mark Paluch
0276ce2e24 DATAREDIS-619 - Housekeeping.
Remove leftovers from SRP and JRedis removal. Reference bundled Spring Framework version in documentation links. Update outdated links. Upgrade to Java 8 requirements. Order operations interfaces alphabetically (documentation, code) and update what's new section.

Original Pull Request: #280
2017-10-12 16:03:11 +02:00