Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. State of the Art Redis Java client
Switch branches/tags
Clone or download
Nikita Koksharov
Latest commit 96d4110 Dec 17, 2018

README.md

Redisson: Redis based In-Memory Data Grid for Java.
State of the Art Redis Java client

Quick start | Documentation | Javadocs | Changelog | Code examples | FAQs | Report an issue | 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 version
compatibility
3.9.1 21.11.2018 1.8 - 11, Android Yes 3.x.x
2.14.1 21.11.2018 1.6 - 11, Android No 2.0.8

Features

Used by

Siemens     BMW GROUP     AIG     S&P Global     SAP     EA     Adobe

Jeppesen     BROOKHAVEN     New Relic Synthetics     Netflix     Personal Capital

Singtel     Baidu     Infor     Crimson Hexagon     ContaAzul    马蜂窝

Datorama    Ticketmaster    NAB    Juniper    火币   

Alibaba    Flipkart    Invaluable    BBK
SULAKE

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

Distributed Locking with Redis (Migration from Hazelcast) / ContaAzul

Migrating from Coherence to Redis

Quick start

Maven

<!-- JDK 1.8+ compatible -->
<dependency>
   <groupId>org.redisson</groupId>
   <artifactId>redisson</artifactId>
   <version>3.9.1</version>
</dependency>  

<!-- JDK 1.6+ compatible -->
<dependency>
   <groupId>org.redisson</groupId>
   <artifactId>redisson</artifactId>
   <version>2.14.1</version>
</dependency>

Gradle

// JDK 1.8+ compatible
compile 'org.redisson:redisson:3.9.1'  

// JDK 1.6+ compatible
compile 'org.redisson:redisson:2.14.1'

Java

// 1. Create config object
Config = ...

// 2. Create Redisson instance
RedissonClient redisson = Redisson.create(config);

// 3. Get Redis based object or service you need
RMap<MyKey, MyValue> map = redisson.getMap("myMap");

RLock lock = redisson.getLock("myLock");

RExecutorService executor = redisson.getExecutorService("myExecutorService");

// over 30 different Redis based objects and services ...

Please consider Redisson PRO version for advanced features and support by SLA.

Downloads

Redisson 3.9.1, Redisson node 3.9.1

Redisson 2.14.1, Redisson node 2.14.1

FAQs

Q: I saw a RedisTimeOutException, What does it mean? What shall I do? Can Redisson Team fix it?

Q: I saw a com.fasterxml.jackson.databind.JsonMappingException during deserialization process, can you fix it?

Q: There were too many quotes appeared in the redis-cli console output, how do I fix it?

Q: When do I need to shut down a Redisson instance, at the end of each request or the end of the life of a thread?

Q: In MapCache/SetCache/SpringCache/JCache, I have set an expiry time to an entry, why is it still there when it should be disappeared?

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?