Description
AWS ElastiCache, Cluster, Sentinel, Single modes
Distributed objects (Geo, Publish/Subscribe, BloomFilter, AtomicLong ...)
Distributed collections (Map, Multimap, Set, SortedSet, List, Blocking Queue, Blocking Deque ...)
Distributed locks and synchronizers (Lock, FairLock, MultiLock, ReadWriteLock, Semaphore, CountDownLatch)
Distributed services (Remote service, Live Object service, Executor service, Scheduled executor service)
SpringCache integration
Hibernate integration
Supports Reactive Streams
Supports many popular codecs (Jackson JSON, Avro, Smile, CBOR, MsgPack, Kryo, FST, LZ4, Snappy and JDK Serialization)
Licensed under the Apache License 2.0.
Redisson alternatives and similar libraries
Based on the "Distributed Applications" category.
Alternatively, view Redisson alternatives based on common mentions on social networks and blogs.
-
Hystrix
Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable. -
Akka
A platform to build and run apps that are elastic, agile, and resilient. SDK, libraries, and hosted environments. -
Zuul
Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more. -
Hazelcast
Hazelcast is a unified real-time data platform combining stream processing with a fast data store, allowing customers to act instantly on data-in-motion for real-time insights. -
Ribbon
Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support. -
ScaleCube
Microservices library - scalecube-services is a high throughput, low latency reactive microservices library built to scale. It features: API-Gateways, service-discovery, service-load-balancing, the architecture supports plug-and-play service communication modules and features. built to provide performance and low-latency real-time stream-processing
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Redisson or a related project?
README
Redisson - Redis Java clientwith features of an in-memory data grid
Quick start | Documentation | Changelog | Code examples | FAQs | Report an issue
Based on high-performance async and lock-free Java Redis client and Netty framework.
Supported JDK: 1.8 ... 19 and Android
Supported Redis: 3.0 ... 7.0
Features
- Redis Replicated setup (also compatible with AWS ElastiCache and Azure Redis Cache)
- Redis Cluster setup (also compatible with AWS ElastiCache Cluster, Amazon MemoryDB and Azure Redis Cache)
- Redis Sentinel setup
- Redis with Master with Slave only
- Redis Single (also compatible with Azure Redis Cache and Google Cloud Memorystore for Redis)
- Thread-safe implementation
- JSON datatype
- Reactive Streams API
- RxJava3 API
- Asynchronous API
- Asynchronous connection pool
- Lua scripting
- Local cache support including Caffeine-based implementation
- Distributed Java objects
Object holder, Binary stream holder, Geospatial holder, BitSet, AtomicLong, AtomicDouble, PublishSubscribe, Bloom filter, HyperLogLog - Distributed Java collections
Map, Multimap, Set, List, SortedSet, ScoredSortedSet, LexSortedSet, Queue, Deque, Blocking Queue, Bounded Blocking Queue, Blocking Deque, Delayed Queue, Priority Queue, Priority Deque - Distributed Java locks and synchronizers
Lock, FairLock, MultiLock, RedLock, ReadWriteLock, Semaphore, PermitExpirableSemaphore, CountDownLatch - Distributed services
Remote service, Live Object service, Executor service, Scheduler service, MapReduce service - Helidon integration
- Micronaut integration
- Quarkus integration
- Spring Cache implementation
- Spring Transaction API implementation
- Spring Data Redis integration
- Spring Boot Starter implementation
- Hibernate Cache implementation
- MyBatis Cache implementation
- Transactions API
- JCache API (JSR-107) implementation
- Tomcat Session Manager implementation
- Spring Session implementation
- Redis pipelining (command batches)
- Supports Android platform
- Supports auto-reconnection
- Supports failed to send command auto-retry
- Supports OSGi
- Supports SSL
- Supports many popular codecs (JBoss Marshalling, Jackson JSON, Avro, Smile, CBOR, MsgPack, Kryo, Amazon Ion, LZ4, Snappy and JDK Serialization)
- With over 2000 unit tests
<!-- Used by ================================
Logos, product names and all other trademarks displayed on this page belong to their respective holders and used for identification purposes only. Use of these trademarks, names and brands does not imply endorsement. -->
Success stories
Moving from Hazelcast to Redis / Datorama
Migrating from Hazelcast to Redis / Halodoc
Distributed Locking with Redis (Migration from Hazelcast) / ContaAzul
Migrating from Coherence to Redis
Quick start
Maven
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.18.1</version>
</dependency>
Gradle
compile 'org.redisson:redisson:3.18.1'
SBT
libraryDependencies += "org.redisson" % "redisson" % "3.18.1"
Java
// 1. Create config object
Config config = new Config();
config.useClusterServers()
// use "rediss://" for SSL connection
.addNodeAddress("redis://127.0.0.1:7181");
// or read config from file
config = Config.fromYAML(new File("config-file.yaml"));
// 2. Create Redisson instance
// Sync and Async API
RedissonClient redisson = Redisson.create(config);
// Reactive API
RedissonReactiveClient redissonReactive = redisson.reactive();
// RxJava3 API
RedissonRxClient redissonRx = redisson.rxJava();
// 3. Get Redis based implementation of java.util.concurrent.ConcurrentMap
RMap<MyKey, MyValue> map = redisson.getMap("myMap");
RMapReactive<MyKey, MyValue> mapReactive = redissonReactive.getMap("myMap");
RMapRx<MyKey, MyValue> mapRx = redissonRx.getMap("myMap");
// 4. Get Redis based implementation of java.util.concurrent.locks.Lock
RLock lock = redisson.getLock("myLock");
RLockReactive lockReactive = redissonReactive.getLock("myLock");
RLockRx lockRx = redissonRx.getLock("myLock");
// 4. Get Redis based implementation of java.util.concurrent.ExecutorService
RExecutorService executor = redisson.getExecutorService("myExecutorService");
// over 50 Redis based Java objects and services ...
Try Redisson PRO with ultra-fast performance and support by SLA.
Downloads
Redisson 3.18.1, Redisson node 3.18.1
FAQs
Q: What is the cause of RedisTimeoutException?
Q: How can I perform Pipelining/Transaction through Redisson?
Q: Is Redisson thread safe? Can I share an instance of it between different threads?
Q: Can I use different encoder/decoders for different tasks?
*Note that all licence references and agreements mentioned in the Redisson README section above
are relevant to that project's source code only.