Redisson: Redis based In-Memory Data Grid for Java.
Quick start | Documentation | Javadocs | Changelog | Code examples | 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.6.4 | 27.03.2018 | 1.8, 1.9+ | Yes | 3.1.x |
2.11.4 | 27.03.2018 | 1.6, 1.7, 1.8, 1.9 and 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
- Hibernate Cache 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 1000 unit tests
Used by
Success stories
Moving from Hazelcast to Redis / Datorama
Distributed Locking with Redis (Migration from Hazelcast) / ContaAzul
Quick start
Maven
<!-- JDK 1.8+ compatible -->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.6.4</version>
</dependency>
<!-- JDK 1.6+ compatible -->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>2.11.4</version>
</dependency>
Gradle
// JDK 1.8+ compatible
compile 'org.redisson:redisson:3.6.4'
// JDK 1.6+ compatible
compile 'org.redisson:redisson:2.11.4'
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.6.4, Redisson node 3.6.4
Redisson 2.11.4, Redisson node 2.11.4
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.