State of the Art Redis client
Redisson: Redis based In-Memory Data Grid for Java.Quick start | Documentation | Javadocs | Changelog | Code examples | FAQs | Support chat | Redisson PRO
Based on high-performance async and lock-free Java Redis client and Netty framework.
Stable Release Version |
Release Date | JDK Version compatibility |
CompletionStage support |
ProjectReactor versioncompatibility |
---|---|---|---|---|
3.7.2 | 14.06.2018 | 1.8, 1.9, 1.10+ | Yes | 3.1.x |
2.12.2 | 14.06.2018 | 1.6, 1.7, 1.8, 1.9, 1.10, Android | No | 2.0.8 |
Features
- Replicated servers mode (also supports AWS ElastiCache and Azure Redis Cache):
- automatic master server change discovery
- Cluster servers mode (also supports AWS ElastiCache Cluster and Azure Redis Cache):
- automatic master and slave servers discovery
- automatic status and topology update
- automatic slots change discovery
- Sentinel servers mode:
- automatic master, slave and sentinel servers discovery
- automatic status and topology update
- Master with Slave servers mode
- Single server mode
- Thread-safe implementation
- Reactive Streams API
- Asynchronous API
- Asynchronous connection pool
- Lua scripting
- Distributed objects
Object holder, Binary stream holder, Geospatial holder, BitSet, AtomicLong, AtomicDouble, PublishSubscribe, Bloom filter, HyperLogLog - Distributed collections
Map, Multimap, Set, List, SortedSet, ScoredSortedSet, LexSortedSet, Queue, Deque, Blocking Queue, Bounded Blocking Queue, Blocking Deque, Delayed Queue, Priority Queue, Priority Deque - Distributed locks and synchronizers
Lock, FairLock, MultiLock, RedLock, ReadWriteLock, Semaphore, PermitExpirableSemaphore, CountDownLatch - Distributed services
Remote service, Live Object service, Executor service, Scheduler service, MapReduce service - Spring Framework
- Spring Cache implementation
- Spring Transaction API implementation
- Hibernate Cache implementation
- Transactions API
- XA Transaction API implementation
- 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 (Jackson JSON, Avro, Smile, CBOR, MsgPack, Kryo, Amazon Ion, FST, LZ4, Snappy and JDK Serialization)
- With over 1800 unit tests
Used by
Success stories
Moving from Hazelcast to Redis / Datorama
Distributed Locking with Redis (Migration from Hazelcast) / ContaAzul
Migrating from Coherence to Redis / RCI
Quick start
Maven
<!-- JDK 1.8+ compatible -->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.7.2</version>
</dependency>
<!-- JDK 1.6+ compatible -->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>2.12.2</version>
</dependency>
Gradle
// JDK 1.8+ compatible
compile 'org.redisson:redisson:3.7.2'
// JDK 1.6+ compatible
compile 'org.redisson:redisson:2.12.2'
Java
// 1. Create config object
Config = ...
// 2. Create Redisson instance
RedissonClient redisson = Redisson.create(config);
// 3. Get object you need
RMap<MyKey, MyValue> map = redisson.getMap("myMap");
RLock lock = redisson.getLock("myLock");
RExecutorService executor = redisson.getExecutorService("myExecutorService");
// over 30 different objects and services ...
Downloads
Redisson 3.7.2, Redisson node 3.7.2
Redisson 2.12.2, Redisson node 2.12.2
FAQs
Q: I saw a RedisTimeOutException, What does it mean? What shall I do? Can Redisson Team fix it?
Q: There were too many quotes appeared in the redis-cli console output, how do I fix it?
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?
Supported by
YourKit is kindly supporting this open source project with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.