Commit Graph

1679 Commits

Author SHA1 Message Date
Christoph Strobl
f42a2eb661 DATAREDIS-812 - Prepare next development iteration. 2018-05-17 10:09:34 +02:00
Christoph Strobl
dee11d1436 DATAREDIS-812 - Release version 2.1 M3 (Lovelace). 2018-05-17 09:51:42 +02:00
Christoph Strobl
df0ef20388 DATAREDIS-812 - Prepare 2.1 M3 (Lovelace). 2018-05-17 09:50:48 +02:00
Christoph Strobl
82ff655793 DATAREDIS-812 - Updated changelog. 2018-05-17 09:50:46 +02:00
Mark Paluch
d49aabf358 DATAREDIS-778 - Polishing.
Mention return type change in the what's new section.

Original pull request: #338.
2018-05-15 15:02:20 +02:00
Christoph Strobl
9b18499b5e DATAREDIS-778 - Align return types of BoundZSetOperations with ZSetOperations.
This is a binary breaking change that requires code using BoundZSetOperations to recompile.

Original pull request: #338.
2018-05-15 15:02:20 +02:00
Mark Paluch
5b21b9e7b9 DATAREDIS-833 - Upgrade to Lettuce 5.1.0.M1. 2018-05-14 18:03:06 +02:00
Jay Bryant
71ab91c620 DATAREDIS-832 - Added a cover page for epub output.
I added a cover page for the epub output, now that the Spring data reference guides will
have epub output (through a commit against spring-data-build).

Original pull request: #339.
2018-05-11 15:58:47 +02:00
Mark Paluch
244a5cd360 DATAREDIS-806 - Updated changelog. 2018-05-08 15:27:21 +02:00
Mark Paluch
4057bae7a7 DATAREDIS-827 - Upgrade to Lettuce 5.0.4.RELEASE. 2018-05-08 12:32:30 +02:00
Mark Paluch
3dc47863fc DATAREDIS-805 - Updated changelog. 2018-05-08 12:22:52 +02:00
Christoph Strobl
90f0685cb7 DATAREDIS-824 - Polishing.
Split and add integration tests.

Original Pull Request: #340
2018-05-04 14:02:54 +02:00
Yin Jifeng
2c1ee77b87 DATAREDIS-824 - Fix potential NPE in DefaultReactiveHashOperations when deserializing values.
Avoid ByteBuffer creation for null values indicating absent keys in hash.

Original Pull Request: #340
2018-05-04 14:02:45 +02:00
Mark Paluch
42aac673f6 DATAREDIS-825 - Polishing.
Fix typos. Remove redundant mention of JDK requirements.

Original pull request: #331.
2018-05-04 11:42:53 +02:00
Jay Bryant
c285cb5f58 DATAREDIS-825 - Full editing pass for Spring Data Redis.
I edited for spelling, punctuation, grammar, clarity, and cross-references. I also pulled one piece of content that was being reused into its own file, so that I could include it rather than repeat it.

Original pull request: #331.
2018-05-04 11:08:52 +02:00
Mark Paluch
d2871ec032 DATAREDIS-562 - Add reactive BitField support.
Original pull request: #227.
2018-05-03 15:24:23 +02:00
Mark Paluch
10f8553c5a DATAREDIS-562 - Polishing.
Move BitfieldCommand to top-level type BitFieldSubCommands.
Use primitives in command objects. Add toString methods. Add utility methods to extract responses from Jedis Client. Use Connection.execute(…) to invoke BITFIELD using Jedis. Fix Overflow values to string rendering.
Convert test ticket references to new format.

Original pull request: #227.
2018-05-03 15:24:23 +02:00
Christoph Strobl
41db6a10fe DATAREDIS-562 - Add support for BITFIELD.
We now offer support for BITFIELD via RedisConnection and RedisClusterConnection using Lettuce and Jedis.

connection.bitField(key,
  create()
   .set(INT_8).valueAt(offset(0).multipliedByTypeLength()).to(100)
   .incr(signed(8)).valueAt(offset(102)).overflow(FAIL).by(1));

Original pull request: #227.
2018-05-03 15:24:23 +02:00
佳何 蔡
e631352832 DATAREDIS-819 - Fix Javadoc in ReactiveValueOperations.
Original Pull Request: #336
2018-05-03 14:01:05 +02:00
Mark Paluch
0955a4fea6 DATAREDIS-716 - Polishing.
Add OBJECT command support for Jedis Cluster.

Original pull request: #337.
2018-05-02 18:09:53 +02:00
Christoph Strobl
70a3e5dbe7 DATAREDIS-716 - Add support for OBJECT REFCOUNT, ENCODING and IDLETIME.
Original pull request: #337.
2018-05-02 15:53:24 +02:00
Mark Paluch
f8d63f4736 DATAREDIS-822 - Consider argument range in RedisCommand min/max arguments specification.
We now consider max argument specifications as upper bound and no longer as the exact number of required arguments.

Original pull request: #335.
2018-05-02 14:49:24 +02:00
Mark Paluch
abb7d9f684 DATAREDIS-697 - Polishing.
Extract Range value access to methods. Remove unused imports. Add type hint for BITPOS via execute(…).

Original pull request: #335.
2018-05-02 14:31:23 +02:00
Christoph Strobl
e9a3a5b6d9 DATAREDIS-697 - Add support for BITPOS.
We now support the BITPOS command throughout the sync and reactive api.

Original pull request: #335.
2018-05-02 14:31:09 +02:00
Christoph Strobl
8215f68d9f DATAREDIS-815 - Polishing.
Update Javadoc, add tests and missing methods for BoundValueOperations.

Original Pull Request: #334
2018-04-26 14:58:26 +02:00
Mark Paluch
e5b14193d4 DATAREDIS-815 - Add method variants accepting/returning java.time.Duration.
Original Pull Request: #334
2018-04-26 14:11:34 +02:00
Christoph Strobl
f1be9b736d DATAREDIS-786 - Polishing.
Update Javadoc and add setIfPresent to BoundValueOperations.

Original Pull Request: #334
2018-04-26 14:10:15 +02:00
Mark Paluch
b0873d29b6 DATAREDIS-786 - Polishing.
Reformat test code.

Original Pull Request: #334
2018-04-26 14:01:21 +02:00
Mark Paluch
2c11a1c402 DATAREDIS-786 - Add ValueOperations.setIfPresent(…).
We now expose setIfPresent(…) through ValueOperations.

Original Pull Request: #334
2018-04-26 14:00:49 +02:00
Christoph Strobl
16f7a445ba DATAREDIS-612 - Polishing.
Introduce dedicated methods utilizing the ReactiveMessageListenerContainer to create a stream of Messages via ReactiveRedisTemplate.

redisTemplate.listenToChannel("channel1", "channel2").doOnNext(msg -> {
    // message processing ...
}).subscribe();

Add close-/destroyLater methods avoiding blocking shutdown of connections and containers.

Original Pull Request: #295
2018-04-26 09:27:34 +02:00
Mark Paluch
a3b96add06 DATAREDIS-612 - Polishing.
Introduce factory methods for ChannelTopic and PatternTopic.

Original Pull Request: #295
2018-04-26 09:20:04 +02:00
Mark Paluch
d356ade624 DATAREDIS-612 - Documentation.
Original Pull Request: #295
2018-04-26 09:18:44 +02:00
Mark Paluch
4b80acf7f5 DATAREDIS-612 - Send and receive Pub/Sub messages using reactive connections.
We now provide sending and receiving of Redis Pub/Sub messages with reactive connections. Messages can be sent with ReactiveRedisTemplate and received as infinite stream through ReactiveRedisMessageListenerContainer. ReactiveRedisMessageListenerContainer uses a single connection to multiplex different subscriptions.

Reactive Pub/Sub supports Standalone, Sentinel and Redis Cluster setups.

ReactiveRedisConnectionFactory factory = …;

ReactiveRedisTemplate<String, String> template = new ReactiveRedisTemplate<>(factory, RedisSerializationContext.string());
Mono<Long> publish = template.convertAndSend("hello!", "world");

ReactiveRedisMessageListenerContainer container = new ReactiveRedisMessageListenerContainer(factory);
Flux<ChannelMessage<String, String>> channelMessages = container.receive(new ChannelTopic("foo"));
Flux<PatternMessage<String, String, String>> patternMessages = container.receive(new PatternTopic("foo"));

//
container.destroy();

Original Pull Request: #295
2018-04-26 09:17:19 +02:00
Christoph Strobl
6b247992ed DATAREDIS-817 - Upgrade build to use Redis 4.0.9. 2018-04-26 08:52:29 +02:00
Christoph Strobl
e090d4cb7c DATAREDIS-763 - Polishing.
Update Javadoc.

Original Pull Request: #333
2018-04-25 13:45:49 +02:00
Mark Paluch
8ea74fb7b3 DATAREDIS-763 - Introduce factory methods for JDK serializer accepting ClassLoader.
We now provide factory methods to create default serializers/deserializers accepting ClassLoader.

RedisSerializer.java(ClassLoader)
RedisSerializationContext.java(ClassLoader)
RedisCacheConfiguration.defaultCacheConfig(ClassLoader)

Original Pull Request: #333
2018-04-25 13:45:17 +02:00
Mark Paluch
dc8e52da8b DATAREDIS-770 - After release cleanups. 2018-04-13 15:08:34 +02:00
Mark Paluch
6c02d6fb47 DATAREDIS-770 - Prepare next development iteration. 2018-04-13 15:08:32 +02:00
Mark Paluch
90e3dd66ba DATAREDIS-770 - Release version 2.1 M2 (Lovelace). 2018-04-13 14:30:58 +02:00
Mark Paluch
2905da3444 DATAREDIS-770 - Prepare 2.1 M2 (Lovelace). 2018-04-13 14:30:01 +02:00
Mark Paluch
fa2b5a6a34 DATAREDIS-770 - Updated changelog. 2018-04-13 14:29:58 +02:00
Mark Paluch
7a79f2c34f DATAREDIS-544 - Polishing.
Remove unused ClassNameKeySpaceResolver.

Original Pull Request: #329
2018-04-11 10:48:35 +02:00
Mark Paluch
58d7ff90a5 DATAREDIS-544 - Read constructor property values through MappingRedisConverter.
We now read and convert constructor property values through MappingRedisConverter.readProperty(…) to apply proper conversion. This way, constructor properties are read through the same methods as instance properties allowing to read back nested level entities.

Previously, we were only reading simple properties or properties associated with a registered Converter.

Original Pull Request: #329
2018-04-11 10:48:08 +02:00
Mark Paluch
9ede7b317e DATAREDIS-810 - Adapted to API changes in Spring Data Commons.
Related ticket: DATACMNS-1275.
2018-04-10 15:35:15 +02:00
Yanming Zhou
3c9cbe171f DATAREDIS-809 - Fix Javadoc.
Original pull request: #328.
2018-04-09 15:30:53 +02:00
Mark Paluch
eaba2b980f DATAREDIS-601 - Polishing.
Extend reference documentation with EnableTransactionManagement. Extend documentation copyright year range.

Original pull request: #327.
2018-04-09 14:26:04 +02:00
Yanming Zhou
f99cc8f0f0 DATAREDIS-601 - Fix linebreak in reference documentation.
Original pull request: #327.
2018-04-09 14:16:41 +02:00
Mark Paluch
afbb46a864 DATAREDIS-808 - Limit repository test configuration filters.
We now only include repository interfaces required for the test and avoid a broad scanning that also considers CDI repositories from its subpackage.
2018-04-09 10:23:41 +02:00
Mark Paluch
3e9d610228 DATAREDIS-803 - Polishing.
Remove DefaultRedisMapEntry as it's no longer required. Simplify test to unit test to reduce test scope and test run time.

Original pull request: #326.
2018-04-09 09:31:21 +02:00
Christian Bühler
8ed4703d46 DATAREDIS-803 - Retrieve DefaultRedisMap.entrySet() via HGETALL.
Redis has a limitation of 1024 * 1024 parameters]() for bulk operations.

To receive more than 1024 * 1024 - 1 entries with entrySet(), we can directly use the HGETALL command instead of first fetching the keys with HKEYS and then fetching the values with HMGET.

See also: https://github.com/antirez/redis/blob/4.0.9/src/networking.c#L1200
Original pull request: #326.
2018-04-09 09:31:21 +02:00