Popularity
8.9
Declining
Activity
9.5
Declining
113
812
28

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.

Code Quality Rank: L1
Programming language: Java
Latest version: v3.11.5

Redisson alternatives and similar libraries

Based on the "Distributed Applications" category

Do you think we are missing an alternative of Redisson or a related project?

Add another 'Distributed Applications' Library

README

Redisson - Redis Java clientwith features of In-Memory Data Grid

Quick start | Documentation | Javadocs | Changelog | Code examples | FAQs | Report an issue

Based on high-performance async and lock-free Java Redis client and Netty framework.
JDK compatibility: 1.8 - 13, Android

Features

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

<dependency>
   <groupId>org.redisson</groupId>
   <artifactId>redisson</artifactId>
   <version>3.11.5</version>
</dependency>  

Gradle

compile 'org.redisson:redisson:3.11.5'  

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.createReactive(config);

// RxJava2 API
RedissonRxClient redissonRx = Redisson.createRx(config);
// 3. Get Redis based Map
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 Lock
RLock lock = redisson.getLock("myLock");

RLockReactive lockReactive = redissonReactive.getLock("myLock");

RLockRx lockRx = redissonRx.getLock("myLock");
// 4. Get Redis based ExecutorService
RExecutorService executor = redisson.getExecutorService("myExecutorService");

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

Consider Redisson PRO version for advanced features and support by SLA.

Downloads

Redisson 3.11.5, Redisson node 3.11.5

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 in Redis 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?