Add randomKey() and randomEntry() to RedisHash.
Update documentation and align methods with java terminology around keys vs. fields in hashes.
Move Converters off their custom Map.Entry implementation and use SimpleImmutableEntry instead.
Switch code that creates Map.Entry to the newly introduced Converters.entryOf method.
See: #2048
Original Pull Request: #2104
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
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
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
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.
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.
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
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
Obtaining a Connection from RedisConnectionFactory and its reactive variant is now guarded by IllegalStateException that is thrown if the connection factory was not yet initialized.
Previously, connections could be obtained where configuration was partially applied.
Closes#2057
Reorder methods. Move rewriteConfig directly implemented on connection to DefaultedRedisConnection respective DefaultedRedisClusterConnection.
Add overload to run config rewrite on individual cluster nodes. Add tests. Add since tags and update Javadoc.
See #1992
Original pull request: #2012.
Let Cursor extend CloseableCursor. Refine nullability annotations and align nullability behavior in tests with actual nullability usage.
See: #1575
Original Pull Request: #2014
Move off deprecated StringUtils.isEmpty method. Fix type reference using the component type and not the component's component type. Add early return for null values.
Original Pull Request: #2015