redisson

Redisson - Easy Redis Java client and Real-Time Data Platform. Valkey compatible. Sync/Async/RxJava/Reactive API. Over 50 Redis or Valkey based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Spring, Tomcat, Scheduler, JCache API, Hibernate, RPC, local cache...

APACHE-2.0 License

Stars
23.3K
Committers
222

Bot releases are hidden (Show)

redisson - Latest Release

Published by mrniko about 1 month ago

Feature - Kryo5Codec useReferences setting added
Feature - RListMultimapCacheNative and RSetMultimapCacheNative objects added. Require Redis 7.4+
Feature - AggregationOptions.sortBy() method with withCount parameter added (thanks to @pfyod)
Feature - allowedClasses setting added to FuryCodec
Feature - addIfAbsent(Map) method added to RSetCache object (thanks to @lyrric)

Improvement - 'hmget' should be instead of 'hget' in RMapCache.getAllWithTTLOnly() method

Fixed - RedisExecutor throws "Failed to submit a listener notification task" error during shutdown
Fixed - Keep the jmockit version in the plugin consistent with that in the dependencies (thanks to @lyrric)
Fixed - hostname after comma in Redis Cluster topology isn't parsed
Fixed - drainToAsync() method returns an incorrect value (thanks to @seakider)
Fixed - numeric cast in CommandDecoder
Fixed - RLiveObject value shouldn't be deleted during index update
Fixed - RSetCache.addAllIfAbsent() method doesn't work
Fixed - missed getSetMultimapCache() and getListMultimapCache() methods in RBatchReactive object
Fixed - missed getMapCacheNative() method in RBatch object
Fixed - MapValueDecoder throws NPE
Fixed - EnumMap type handling by Kryo5Codec
Fixed - Kryo5Codec registrationRequired setting replaced with allowedClasses
Fixed - JCache eviction task isn't removed on close() method invocation
Fixed - missed destroy() method for RListMultimapCache and RSetMultimapCache objects

redisson -

Published by mrniko about 2 months ago

Feature - INDEXEMPTY option added to tag and text fields in RSearch.createIndex() method
Feature - INDEXMISSING option added to all fields in RSearch.createIndex() method
Feature - StreamMessageId.LAST option added
Feature - copy() and copyAndReplace() methods added to RObject interface
Feature - Apache Fury codec support
Feature - RSetCache object supports TrackingListener, SetAddListener and SetRemoveListener listeners
Feature - RClusteredMapCacheNative object implemented. Requires Redis 7.4+
Feature - RLocalCachedMapCacheNative object implemented. Requires Redis 7.4+
Feature - localcache_native and clustered_native implementations added to Quarkus module. Requires Redis 7.4+
Feature - RedissonClusteredCacheNative and RedissonLocalCachedCacheNative implementations added to MyBatis module. Requires Redis 7.4+
Feature - RedissonClusteredSpringCacheNativeManager and RedissonSpringLocalCachedCacheNativeManager implementations added to Spring Cache module. Requires Redis 7.4+
Feature - RedissonClusteredNativeRegionFactory and RedissonLocalCachedNativeRegionFactory added to Hibernate module. Requires Redis 7.4+
Feature - local-caches-native and clustered-caches-native implementations added to Micronaut module. Requires Redis 7.4+

Improvement - ProtobufCodec memory allocation optimization
Improvement - Apache Fury codec optimization (thanks to @chaokunyang)
Improvement - quarkus should make an attempt to read config file using Thread's ContextClassLoader
Improvement - quarkus should make an attempt to read config file using Thread's ContextClassLoader (thanks to @seakider)
Improvement - don't take lock for RMap.computeIfAbsent() if only get is needed (thanks to @shreyas-sprinklr)

Fixed - writer, writeMode, writerAsync, writeBehindDelay, writeBehindBatchSize, loader, loaderAsync settings aren't applied to caches-native in Micronaut module
Fixed - missed caches-native implementation for Micronaut 3.x and Micronaut 2.x
Fixed - a new retry attempt to the same node isn't made for INFO_REPLICATION, SENTINEL_GET_MASTER_ADDR_BY_NAME, SENTINEL_SENTINELS, SENTINEL_SLAVES and CLUSTER_NODES commands
Fixed - RType.JSON and RType.STREAM can't be resolved by RKey.getType() method
Fixed - RKeys.removeListener() method doesn't remove NewObjectListener and SetObjectListener
Fixed - copy() method doesn't works with db (thanks to @seakider)
Fixed - maven.compiler.release setting isn't defined
Fixed - RSearch.info() method throws NumberFormatException (thanks to @iamtakingiteasy)
Fixed - timeout parameters defined per object aren't applied to RJsonBuckets and RJsonBucket objects
Fixed - RedisException is thrown by .removeAll() and .indexOf() methods of RedissonSubList object (thanks to @seakider)
Fixed - wrong event keyspace name for MapCacheNative object (thanks to @larryTheCoder)
Fixed - missed rename() and renamenx() methods implementation for RIdGenerator, RMapCache and RTimeSeries objects
Fixed - Kryo5Codec doesn't handle UnmodifiableCollection, SynchronizedCollection and CheckedCollection
Fixed - RRateLimiter incorrect rate count in the event of an attempt to exceed the limit
Fixed - credentials-resolver, failed-slave-node-detector, command-mapper, name-mapper, nat-mapper settings aren't recognized by Helidon and Quarkus
Fixed - RMultimapCacheReactive.expireKey() method returns Single instead of Reactor Mono
Fixed - @RObjectField annotation with codec option has no effect
Fixed - an exception is thrown if the @RObjectField annotation is defined on a field
Fixed - RDestroyable.destroy() method doesn't remove listeners
Fixed - FailedSlaveNodeDetector's parameters by can't be defined in YAML config

redisson -

Published by mrniko 3 months ago

Fixed - RObject.rename() method doesn't work in cluster

redisson -

Published by mrniko 3 months ago

Feature - RJsonBuckets object added (thanks to @seakider)
Feature - remainTimeToLive(Set keys) and clearExpire(Set keys) methods added to RMapCacheNative object
Feature - eval() and evalSha() methods added to RScript object for execution on all nodes in Redis Cluster

Improvement - performance optimization for Apache Tomcat Session management
Improvement - default value of quietPeriod set to 0 in RedissonClient.shutdown() method
Improvement - upgrade protobuf from 3.16.3 to 4.27.2 (thanks to @zzhlhc)

Fixed - Apache Tomcat Session Manager throws CROSSSLOT Keys in request don't hash to the same slot (regression since 3.32.0)
Fixed - empty partitions shouldn't be skipped in cluster topology scan
Fixed - ClusterConnectionManager.checkSlotsMigration() method throws NPE
Fixed - RSearch IndexInfoDecoder may throw NPE
Fixed - local cached Map implementations don't emit cache clear event on clear() or delete() methods call
Fixed - RObject.rename() method doesn't work in cluster
Fixed - a new attempt to send a command should be made right after channel reconnection
Fixed - 'race condition' while calling RLock.tryLock() method (thanks to @pad-master82)
Fixed - Can't connect to servers error doesn't show exception reported during connection
Fixed - SeekableByteChannel.truncate() method (thanks to @seakider)
Fixed - RMap.computeAsync() method doesn't handle empty keys properly (thanks to @phrone)

redisson -

Published by mrniko 3 months ago

Feature - RJsonStore object added
Feature - RLocalCachedJsonStore object added
Feature - RSearch.getIndexes() method added
Feature - RedissonRegionNativeFactory added for Hibernate module. Requires Redis 7.4+
Feature - RedissonSpringCacheNativeManager implemented. Requires Redis 7.4+
Feature - RedissonCacheNative implementation added for Mybatis cache. Requires Redis 7.4+
Feature - caches-native cache type added to Micronaut module. Requires Redis 7.4+

Improvement - Spring Cache RedissonCache.put() method optimization

Breaking change - JsonCodec interface refactoring

Fixed - re-added master node isn't updated in Cluster topology
Fixed - expiration time isn't set for Apacht Tomcat Manager redisson:tomcat_notified_nodes keys (thanks to @ehardy)
Fixed - RSearch AggregationOptions.loadAll() setting isn't applied
Fixed - containsAll() method of RList, RQueue, RMultimap objects returns incorrect result (thanks to @seakider)
Fixed - too many requests with small threads amount may cause OOM
Fixed - connection leak during high load with few connections
Fixed - RingBuffer#setCapacity, trim list incorrect (thanks to @seakider)
Fixed - password shouldn't be printed in logs
Fixed - encoded user/password in URL aren't accepted

redisson -

Published by mrniko 4 months ago

Feature - Quarkus Cache implementation added
Feature - RMapCacheNative implementation which uses Redis 7.4+ commands
Feature - unlinkByPattern() method added to RKeys interface (thanks to @seakider)

Fixed - Apache Tomcat request.changeSessionId() method does not change the session id in Redis (thanks to @bclay2116)
Fixed - RSearch parse params error (thanks to @seakider)
Fixed - RSearch.info() throws NumberFormatException (thanks to @seakider)
Fixed - cluster failover handling
Fixed - last master node shouldn't be removed in cluster topology
Fixed - duplicated master/slave added log output in sentinel mode
Fixed - connection leak if master change operation failed during failover
Fixed - RxJava3 request can't be canceled
Fixed - RFairLock doesn't calculate remaining ttl properly before next acquisition attempt
Fixed - scanInterval setting check
Fixed - ElementsSubscribeService.resubscribe() method throws RedissonShutdownException
Fixed - RMap.getAll() method throws an exception if result of RMap.keySet() method passed as an argument
Fixed - Redis node random selection doesn't work properly
Fixed - concurrency problem during RLock expiration renewal (thanks to @seakider)
Fixed - RListMultimap throws too many results to unpack error
Fixed - entry shutdown during cluster slots migration check

redisson -

Published by mrniko 5 months ago

Feature - Spring Boot 3.3.0 integration
Feature - Spring Data Redis 3.3.0 integration
Feature - allow retry of NOREPLICAS error (thanks to @ghollies)

Improvement - SequentialDnsAddressResolverFactory default concurrencyLevel set to 2
Improvement - ThreadLocalRandom replaced with xoshiro256++ RNG to avoid collisions

Fixed - cluster failover handling
Fixed - cluster topology scan shouldn't be stopped by any exception
Fixed - RSetMultiMap throws too many results to unpack error
Fixed - append commands error when using batch mode (thanks to @seakider)
Fixed - ERR unknown command EVALSHA_RO error shouldn't be logged
Fixed - TransactionalBucket#set(V, Duration) PSETEX command is called before MULTI command (thanks to @seakider)
Fixed - CommandMapper isn't applied to Lua scripts
Fixed - incorrect connection release if BatchOptions.executionMode = REDIS_WRITE_ATOMIC or REDIS_READ_ATOMIC (thanks to @seakider)
Fixed - RFairLock methods throw 'attempt to compare nil with number' error
Fixed - Spring Data Redis RedissonConnectionFactory.getSentinelConnection() method throws error on the first offline sentinel
Fixed - read mode = SLAVE isn't applied for RSet.random() methods
Fixed - Keyspace notifications should be listened only on master nodes
Fixed - RListMultimap.removeAll() method always deletes link to list
Fixed - RLockReactive methods don't work in native image
Fixed - Correctly update shutdown timeout after each step in connection manager shutdown (thanks to @MartinEkInsurely)
Fixed - broken tck JCache tests
Fixed - not all sentinels defined in the configuration are registered

redisson -

Published by mrniko 5 months ago

Feature - sslKeystoreType setting added
Feature - RPatternTopic.getActiveTopic() method added (thanks to @MasterShi)
Feature - RJsonBucket.merge() method added
Feature - Async, Rx, Reactive interfaces implemented for RBloomFilter object
Feature - fallback mode for JCache
Feature - passwords encryption support
Feature - Spring Cloud Stream integration

Improvement - configuration variable defined as Java system property overrides environment variable

Fixed - io.projectreactor package should be defined as optional in OSGi Manifest
Fixed - Spring Data Redis StreamPollTask.deserializeAndEmitRecords() method throws NPE after failover
Fixed - Spring Data Redis blocking poll commands can't be reattached after failover
Fixed - Unable to find session error reported by RedissonSessionManager
Fixed - Sentinels discovery is applied at Redisson startup if sentinelsDiscovery = true
Fixed - master node is used for read operations after slave node addition if readMode = SLAVE in replicated mode
Fixed - failover handling of blocking methods calls with defined timeout. RStream, RBlockingQueue objects
Fixed - multiple RLocalCachedMap objects don't work in the same RTransaction (thanks to @vlad-ogol @RajaJaisankar)
Fixed - codec setting isn't applied in redisson.getMap(MapOptions) method
Fixed - Live Object field can't set to null value
Fixed - SentinelConnectionManager stops scheduling topology change change / dns check after host resolution error
Fixed - RMapCache.fastPutIfExistsOperation() method uses incorrect pubsub channel

redisson -

Published by mrniko 6 months ago

Feature - NewObjectListener added to track created objects
Feature - NewObjectListener and SetObjectListener can be registered with RKeys.addListener() method
Feature - subscribeOnElements(), subscribeOnLastElements() and subscribeOnFirstElements() methods wait for CompletionStage to complete before polling a next element
Feature - shardedSubscriptionMode setting added in Cluster configuration
Feature - RSemaphore.trySetPermits() method with ttl parameter added
Feature - getDeletedIds() method added to RStream AutoClaimResult object

Improvement - responses map lock replaced with fine-grained entry locking in RRemoteService and RScheduledExecutorService

Fixed - RStream.autoClaim() method throws ClassCastException
Fixed - RSearch aggregate expression applied incorrectly
Fixed - LocalCachedMapDisabledKey event is parsed incorrectly if local cache used with RTransaction
Fixed - Slave node in cluster mode isn't shutdown properly if readMode = MASTER and subscribeMode = MASTER (regression since 3.27.2)
Fixed - race condition during cluster topology update causes slave added/removed events
Fixed - OSGi MANIFEST should define optional dependencies
Fixed - TimeoutException is thrown if connectionMinimumIdleSize = 0
Fixed - ClassCastException is thrown for Reactive/Rx RemoteService invocation if Redisson instance isn't Reactive/Rx
Fixed - semaphore object is not deleted after RLocalCachedMap.clearLocalCache() method invocation
Fixed - AggregationOptions.groupBy() setting with reducers used in RSearch.aggregate() method causes an exception
Fixed - AggregationOptions.groupBy() setting usage with RSearch.aggregate() method causes an exception if reducers aren't defined
Fixed - AggregationOptions.sortBy() setting usage with RSearch.aggregate() method causes an exception
Fixed - resource leak error when executing multiple contains operation of RSet in transaction (thanks to @wynn5a)
Fixed - jmockit upgraded to 1.52.0 inside maven-surefire-plugin (thanks to @roharon)

redisson -

Published by mrniko 6 months ago

Feature - Multi Sentinel mode implementation
Feature - RLocalCachedMapCacheV2 object implemented with effecient partitioning and advanced entry eviction
Feature - graceful shutdown in quarkus (thanks to @naah69)

Improvement - RLongAdder and RDoubleAddder should use sharded topic if possible
Improvement - reduced CPU and Memory consumption by ClusterConnectionManager.getLastPartitonsByURI() method
Improvement - RedisURI.hashCode() caching to reduce CPU consumption
Improvement - shutdown check added in RTopic.removeListener() method

Fixed - incorrect detection of sharded pubsub support
Fixed - RBatch does not work with RKeys.randomKeyAsync() method (thanks to @wynn5a)
Fixed - unresolved Redis node hostname in cluster mode affects cluster topology scan
Fixed - MASTER nodes aren't used if readMode = MASTER_SLAVE
Fixed - RLock, RFencedLock, RReadWriteLock miss unlock messages and wait a defined timeout before a next attempt or hang
Fixed - RSemaphore, RPermitExpirableSemaphore miss release messages and wait a defined timeout before a next attempt or hang
Fixed - incorrect value of RLongAdder.sum() and RDoubleAddder.sum() methods if multiple Adder instances for the same Redisson object are used
Fixed - CountDownLatch.await() method may throw NPE
Fixed - ExecutionException handling in RExecutorService, RLock, RPermitExpirableSemaphore, RSemaphore objects
Fixed - ConcurrentModificationException is thrown on RedissonSession save method if readMode = MEMORY
Fixed - Spring Data Redis zPopMin() and zPopMax() methods don't work (thanks to @bimslab)

redisson -

Published by mrniko 7 months ago

Feature - RShardedTopic.countSubscribers() method implemented
Feature - RedissonMultiLock implements isHeldByThread() and isHeldByCurrentThread() methods

Fixed - Multiple locking of RLock reset remainTimeToLive to config default
Fixed - exception thrown by natMapper is not shown in logs
Fixed - OSGi jdk.net package import should be optional
Fixed - ServiceManager.resolveAll() method throws NPE
Fixed - RObject.addListenerAsync() method throws UnsupportedOperationException
Fixed - StatusListener doesn't work with RShardedTopic
Fixed - NPE is thrown in cluster mode if slave node added
Fixed - continuously reconnecting to a removed slave node in cluster mode
Fixed - incorrect handling of TrackingListener removal
Fixed - FlushListener receives duplicate events
Fixed - SlotsDecoder throws NPE on empty result
Fixed - Clash between RedissonCache and Spring (6.1+) Cache interface methods
Fixed - RedissonClient.shutdown() method hangs at serviceManager.getShutdownLatch() invocation
Fixed - "Failed to submit a listener notification task. Event loop shut down?" error caused by PingConnectionHandler
Fixed - JsonCodecWrapper isn't cached properly

redisson -

Published by mrniko 8 months ago

Feature - added TrackingListener support to RList, RQueue, RDeque, RBlockingQueue, RBlockingDeque, RDelayedQueue, RRingBuffer objects
Feature - addListener(), random() methods added to RLexSortedSet object

Improvement - show log warning "DNS TCP fallback on UDP query timeout disabled" if Netty version is lower 4.1.105
Improvement - ChannelName.toString() conversion optimization

Fixed - retryInterval and retryAttempts settings aren't applied in case of 'READONLY You can't write against a read only replica.' error
Fixed - RRemoteService may cause CPU spike after Master failover
Fixed - FlushListener causes ClassCastException
Fixed - TrackingListener causes ClassCastException
Fixed - RedissonSetCache.addIfAbsentAsync() uses incorrect argument for zadd (thanks @fooooxxxx)

redisson -

Published by mrniko 8 months ago

Feature - client tracking support. TrackingListener is available for RBucket, RStream, RScoredSortedSet, RSet, RMap and RBucket objects
Feature - added RKeys.addListener() method to register global listeners
Feature - FlushListener added to track flushdb/flushall command invocation
Feature - Kryo5Codec constructor with registrationRequired parameter added
Feature - nettyExecutor setting added
Feature - enable DNS TCP fallback when UDP query timeout for RoundRobinDnsAddressResolverGroupFactory and SequentialDnsAddressResolverFactory

Improvement - cache result of INFO REPLICATION command for RLock objects

Fixed - Spring Data Redis ReactiveKeyCommands.pExpire() method throws an exception
Fixed - NPE is thrown by RedisExecutor.handleError() method
Fixed - sharded pubsub detection for Apache Tomcat Session Manager, RMapCache and RLocalCachedMap objects
Fixed - Redisson's threads aren't shutdown if Redis node address isn't defined
Fixed - NPE is thrown while creating RLocalCacheMap object without WriteMode value
Fixed - incorrect RESP3 protocol parsing causes SlaveConnectionPool no available Redis entries error
Fixed - repeated new connections with AWS Elasticache serverless
Fixed - internal LRUCacheMap object throws ConcurrentModificationException

redisson -

Published by mrniko 8 months ago

Feature - enable DNS TCP fallback on UDP query timeout (thanks to @hellojukay)
Feature - StreamMessageId.autogenerateSequenceId() method added (thanks to @mrmx)
Feature - RLockReactive.isHeldByThread() method added (thanks to @sanail)

Fixed - missed implementation of Spring Data Redis ReactiveStringCommands.bitField() method
Fixed - Spring Data Redis opsForCluster().randomKey() method throws UnsupportedOperationException
Fixed - JCache.close() method throws IllegalStateException if statistics enabled
Fixed - doubled connections to the master node if readMode = MASTER_SLAVE or there are no slave nodes
Fixed - RSearch.delDict() and RSearch.addDict() methods throw NPE
Fixed - connection ping handler doesn't use commandTimeout setting
Fixed - repeated new connections with AWS Elasticache serverless
Fixed - RLock throws ERR unknown command 'wait' with AWS Elasticache serverless
Fixed - RSearchReactive.dropIndex() method doesn't call onComplete() handler

redisson -

Published by mrniko 9 months ago

Feature - ability to specify retryInterval, retryAttempts, timeout settings per Redisson object. Please refer to the documentation
Feature - LocalCachedMapOptions.expirationEventPolicy setting added
Feature - StreamAddListener, StreamCreateConsumerListener, StreamCreateGroupListener, StreamRemoveConsumerListener, StreamRemoveGroupListener, StreamRemoveListener, StreamTrimListener listeners added for RStream object

Fixed - Spring Data Redis RedissonConnection.setCommands() method returns null
Fixed - continuously reconnecting to a removed slave node in cluster mode
Fixed - EntryExpiredListener isn't invoked by RMapCache instance in Redis Cluster 7+ and if nameMapper is defined
Fixed - Skipped slave up ... error is thrown in Sentinel mode if nodes use IPv6
Fixed - NPE is thrown when adding or removing shards in ElastiCache
Fixed - RAtomicDouble, RAtomicLong, RMap, RScoredSortedSet, RSet listeners aren't removed properly
Fixed - connection isn't reconnected on WRONGPASS Redis error
Fixed - connection timeout during Redisson start ignores connections amount
Fixed - RSearch.search() method doesn't execute query with aliases properly
Fixed - FCALL_RO command isn't used when RFunction method called with FunctionMode.READ parameter
Fixed - IllegalReferenceCountException is thrown when canceling a method call
Fixed - Redis scan cursor exceed Long.MAX_VALUE in AWS Elasticache
Fixed - internal ServiceManager.calcSHA() method should use UTF-8 encoding by default

redisson -

Published by mrniko 10 months ago

Fixed - SSL connection can't be established

redisson -

Published by mrniko 10 months ago

Improvement - JDK21 Virtual Threads compatibility

Fixed - EvictionTask keeps running even after destroy() method called
Fixed - Sprint Data Redis throws Subscription registration timeout exceeded
Fixed - Sprint Data Redis RedisMessageListenerContainer.addMessageListener() method hangs if called after container start
Fixed - NPE is thrown if lazyInitialization = true
Fixed - PriorityQueue methods may hang due to unreleased lock after exception
Fixed - RMap.getAll() method throws IndexOutOfBoundsException
Fixed - natMapper isn't applied to slaves and master nodes at start in Sentinel mode
Fixed - method invocation hangs after failover if retryInterval = 0
Fixed - transactional Map and MapCache keySet method returns inconsistent state
Fixed - Multilock lock method doesn't work properly with non-MILLISECONDS TimeUnit

redisson -

Published by mrniko 11 months ago

Feature - RESP3 protocol support. protocol setting added
Feature - Spring Data Redis 3.2.0 implementation
Feature - RSetCacheV2, RSetV2 objects with more effecient partitioning in Cluster added in PRO version

Improvement - SLF4j updated to 2.0.9 version

Fixed - RFunction/RScript keys parameter accepts only String values
Fixed - IP address instead of hostname is used in sentinel mode with SSL connection
Fixed - Resources leak in Version.logVersion() method
Fixed - RLiveObjectService.persist() method with varargs hangs in cluster mode
Fixed - Redisson connection process may hang at start in some cases
Fixed - EntryExpiredListener isn't invoked by RMapCache instance in Redis Cluster 7+
Fixed - slave node in sentinel mode can't be recovered if it's a master node
Fixed - JsonJacksonCodec fails to serialize Throwable on Java17 (thanks to @tomjankes)
Fixed - RBlockingDeque.move() throws an exception for empty result
Fixed - RScoredSortedSet.pollFirstEntries(count) and pollLastEntries(count) methods return wrong result
Fixed - BZMPOP command timeout isn't applied
Fixed - getBlockingDeque(), getDeque(), getPriorityDeque(), getPriorityBlockingDeque() throw NoClassDefFoundError if JDK version < 21
Fixed - RLocalCachedMap.containsKey() method does not work properly if storeCacheMiss = true
Fixed - RedissonRemoteService exceptions handling (thanks to @mrmx)
Fixed - RSearch.info() method throws NumberFormatException
Fixed - HttpSessionListener.sessionDestroyed() method isn't called if Tomcat Session deleted by the node which didn't create it
Fixed - LZ4CodecV2 isn't compatible with LZ4Codec
Fixed - RSearch GroupBy.reduce alias isn't applied (thanks to @arjunE1395)

redisson -

Published by mrniko 12 months ago

Feature - Helidon 4.0 integration

Fixed - ERR invalid expire time error is thrown during RLock.unlock() call if retryAttempts = 0

redisson -

Published by mrniko 12 months ago

Fixed - IllegalArgument timeout... error is throw during Redisson shutdown
Fixed - Intermittent Exception when creating RLocalCachedMap (regression since 3.24.1)
Fixed - RSearch.aggregate() doesn't apply withCursor() and sortBy() options correctly
Fixed - MOVED redirection loop detected error should be thrown only if both source and target addresses are equal

Package Rankings
Top 0.9% on Repo1.maven.org
Badges
Extracted from project README's
Maven Central JavaDoc License
Related Projects