Commit Graph

2391 Commits

Author SHA1 Message Date
Christoph Strobl
d019ada080 Polishing.
Fix indention, variable names and add missing author tags.

Original Pull Request: #2097
2021-06-29 13:49:15 +02:00
Mark Paluch
38d3576052 Add reactive support for ZDIFF, ZDIFFSTORE, ZINTER, and ZUNION commands.
See: #2041 & #2042
Original Pull Request: #2097
2021-06-29 13:49:15 +02:00
Mark Paluch
8dc6f014ee Add difference, intersect, and union support to RedisZSet.
Original Pull Request: #2097
2021-06-29 13:49:15 +02:00
Mark Paluch
1d8ff06eef Add convenience constructor to DefaultStringTuple.
Original Pull Request: #2097
2021-06-29 13:49:15 +02:00
Mark Paluch
1c30d69195 Add imperative support for ZDIFF, ZDIFFSTORE, ZINTER, and ZUNION commands.
See: #2041 & #2042
Original Pull Request: #2097
2021-06-29 13:49:08 +02:00
Mark Paluch
755c8417a3 Polish RedisZSet.
Improve Javadoc. Add static factory methods for easier RedisZSet construction.

See #2007
Original Pull Request: #2088
2021-06-29 13:44:11 +02:00
Christoph Strobl
bdf15de653 Support precise sub second timeout for BZPOPMIN, BZPOPMAX.
In cases where the timeout is defined in msec we calculate a precise timeout for the BZPOP* operations.
#2102 will bring this behaviour also to List commands.

Original Pull Request: #2088
2021-06-29 07:52:14 +02:00
Mark Paluch
739b917922 Add popFirst and popLast methods to RedisZSet.
See #2007
Original Pull Request: #2088
2021-06-29 07:45:56 +02:00
Mark Paluch
0f2039d5a0 Add support for ZPOPMIN, ZPOPMAX and their blocking variants.
We now support ZPOPMIN, BZPOPMIN, ZPOPMAX and BZPOPMAX through the Template API for all drivers.

Closes #2007
Original Pull Request: #2088
2021-06-29 07:45:29 +02:00
Mark Paluch
d13f9da212 Ensure all pipelined commands use a dedicated connection to avoid lingering commands when using pipelining with flushing customization.
Original Pull Request: #2088
2021-06-29 07:44:33 +02:00
Mark Paluch
8c743d40ef Add support for ZMSCORE through score(key, values).
We now support Redis 6.2 ZMSCORE through the Template API and on the connection level for all drivers.

Closes #2038
Original Pull Request: #2088
2021-06-29 07:43:55 +02:00
Christoph Strobl
c878a933f5 Add SET options EXAT, PXAT
Original Pull Request: #2086
2021-06-28 11:03:33 +02:00
Christoph Strobl
f0b22ad76f Add GETEX options EXAT, PXAT
Original Pull Request: #2086
2021-06-28 11:03:21 +02:00
Mark Paluch
a53193946f Add support for GETEX and GETDEL through getAndExpire(…), getAndPersist(…) and getAndDelete(…) methods.
We now support Redis 6.2 GETEX and GETDEL commands through the Template API and on the connection level for all drivers.

Closes: #2050
Original Pull Request: #2086
2021-06-28 11:03:12 +02:00
Mark Paluch
72055de59f Updated changelog.
See #2066
2021-06-22 16:07:28 +02:00
Mark Paluch
dabbaaa35d Updated changelog.
See #2065
2021-06-22 15:29:54 +02:00
Mark Paluch
00fe9a5241 Upgrade to Netty 4.1.65.Final.
See #2091
2021-06-22 14:50:05 +02:00
Mark Paluch
c636574444 Upgrade to Lettuce 6.1.3.
Closes #2091
2021-06-22 14:50:05 +02:00
Mark Paluch
dbe97e8fb1 Upgrade to Jedis 3.6.1.
Closes #2093
2021-06-21 10:13:34 +02:00
Christoph Strobl
735f3218f9 Update reference documentation.
Fix sorting query part that should be 'orderBy'.

Original Pull Request: #2087
2021-06-18 13:10:16 +02:00
Mark Paluch
2e33841648 Fix result sorting using Redis repository query methods.
We now correctly apply sorting when calling a repository query method with a Sort parameter or when defining the sort order as part of the method name.

Closes: #2080
Original Pull Request: #2087
2021-06-18 13:07:30 +02:00
Mark Paluch
f69146c2a6 Polishing.
Add since tags, equals/hashCode/toString methods. Reformat code.

Original pull request: #2060.
Closes #2055
2021-06-17 14:40:10 +02:00
yanam
1750b2a2d4 Add support for BitFieldSubCommands that generate multiple bit operations using non-chaining methods.
Original pull request: #2060.
Closes #2055
2021-06-17 14:06:46 +02:00
Mark Paluch
7cd0669e86 Polishing.
Extend copy(…) command with replace argument. Add support for reactive copy(…). Fix connection unit tests. Reorder methods.

Add since tags.

See #2040
Original pull request: #2059.
2021-06-15 11:55:17 +02:00
ihaohong
1a4eef347e Add support for COPY.
Closes #2040
Original pull request: #2059.
2021-06-15 11:53:56 +02:00
Mark Paluch
ba767fa86d Polishing.
Inline valueFromLoader method. Refine tests to not rely on the number of runtime CPU cores.

See #2079
Original pull request: #2082.
2021-06-15 09:30:45 +02:00
Piotr Mionskowski
30aeda562b Synchronize RedisCache.get(…) with ValueLoader only if value is absent.
RedisCache.get(…) now optimistically fetches the cache value before entering cache-wide synchronization. The previous version synchronized all calls to `get(key, valueLoader)`.

Closes #2079
Original pull request: #2082.
2021-06-15 09:29:20 +02:00
Mark Paluch
5747c7d5e6 Polishing.
Add leftPop/rightPop methods to BoundListOperations. Tweak Javadoc and add since tags. Extend tests.

Closes #1987
2021-06-14 10:51:37 +02:00
dengliming
3b146cc2cb Add support for LPOP and RPOP with count option.
Closes #1987
2021-06-14 10:51:23 +02:00
Mark Paluch
94bfd81511 Upgrade to Redis 6.2.4.
Closes #2085
2021-06-14 10:12:43 +02:00
Christoph Strobl
f860bdc522 Make sure to tests against jedis and lettuce when using AbstractOperationsTestParams.
See: #2081
2021-06-11 09:51:05 +02:00
Mark Paluch
31c728a594 Replace poll and assert with await for Pub/Sub tests.
We now await until a message has arrived in our pub/sub tests. Previously, we polled the message listener which could lead to false positives by delayed messages.

We also exclude raw (byte-array) cases as byte arrays cannot be easily checked for equality without further instrumentation.

Closes: #1834
Original Pull Request: #1978
2021-06-11 09:49:54 +02:00
Mark Paluch
4faf12db2e Upgrade to XStream 1.4.17.
Closes #2069
2021-06-10 09:30:55 +02:00
Mark Paluch
866010e71d Fix XREVRANGE using Lettuce to use the same connection.
XREVRANGE using Lettuce uses now the same connection instead of pinning execution to a dedicated connection.

Closes #2078
2021-06-09 15:58:21 +02:00
Christoph Strobl
2711181ec8 Polishing.
Add explicit cast update documentation and rename SubcriptionListener instance to NO_OP_...
Fix Java 16 compile error.

Original Pull Request: #2052
2021-05-21 10:14:38 +02:00
Mark Paluch
980034cfff Update MessageListener reference documentation.
Original Pull Request: #2052
2021-05-21 10:12:02 +02:00
Mark Paluch
9480851a2e Add ReactiveRedisOperations.listenToLater(…) to await subscriptions.
Original Pull Request: #2052
2021-05-21 10:12:02 +02:00
Mark Paluch
fe51d78537 Add ReactiveRedisMessageListenerContainer.receiveLater(…) to await subscriptions.
Original Pull Request: #2052
2021-05-21 10:08:38 +02:00
Mark Paluch
328de94d85 Polishing.
Replace MonoProcessor with Sinks.

Original Pull Request: #2052
2021-05-21 10:08:15 +02:00
Mark Paluch
58e7aa57a2 Add support for SubscriptionListener using ReactiveRedisMessageListenerContainer.
Original Pull Request: #2052
2021-05-21 10:06:42 +02:00
Mark Paluch
0f1c59813e Polishing.
Add missing (at)Override annotations.

Original Pull Request: #2052
2021-05-21 10:06:05 +02:00
Mark Paluch
48d80e0fd4 Add support for subscription ready/unsubscription done events.
Original Pull Request: #2052
2021-05-21 10:05:14 +02:00
Christoph Strobl
8c05f198da Transition BatchStrategy to interface.
...and use long return type instead of int for cleanCache.
Original Pull Request: #2051
2021-05-20 13:04:45 +02:00
Mark Paluch
1fcd9af4c0 Mention RedisCache locking behavior details.
Closes: #1801
Original Pull Request: #2051
2021-05-20 13:04:13 +02:00
Mark Paluch
1a290c3a96 Revise RedisCache documentation.
Original Pull Request: #2051
2021-05-20 13:03:30 +02:00
Mark Paluch
0dc89b8001 Add support for configurable batch strategies using RedisCache.
We now support a configurable BatchStrategy for RedisCache. The implementations consist of KEYS (default) and SCAN. Since SCAN is not supported with Jedis Cluster and SCAN requires a batch size, we default to KEYS.

Closes: #1721
Original Pull Request: #2051
2021-05-20 13:02:38 +02:00
Mark Paluch
a525fc1fd9 Add ScanOptions.pattern(…) accepting a byte[] pattern.
We now accept a byte array as pattern for scan operations in addition to String patterns.

Also, use binary Jedis scan method to avoid bytes to String conversion.

Closes: #2006
Original Pull Request: #2051
2021-05-20 13:01:57 +02:00
Mark Paluch
67deb3ef81 Updated changelog.
See #2034
2021-05-14 12:36:39 +02:00
Mark Paluch
a638d336e1 Updated changelog.
See #2033
2021-05-14 12:06:43 +02:00
Greg L. Turnquist
213f0fd6c3 Polishing.
See #2008.
2021-05-13 16:03:58 -05:00