You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Nikita Koksharov fabad0b1df
Merge pull request #5999 from redisson/dependabot/maven/org.springframework.boot-spring-boot-autoconfigure-3.3.1
Bump org.springframework.boot:spring-boot-autoconfigure from 3.2.5 to 3.3.1
7 months ago
.github Update bug_report.yml 8 months ago
redisson Bump org.springframework.boot:spring-boot-autoconfigure 7 months ago
redisson-all Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.3 to 3.6.0 7 months ago
redisson-helidon version updated 7 months ago
redisson-hibernate version updated 7 months ago
redisson-micronaut Update README.md 7 months ago
redisson-mybatis Update README.md 7 months ago
redisson-quarkus Update README.md 7 months ago
redisson-spring-boot-starter Update README.md 7 months ago
redisson-spring-data Merge branch 'master' of github.com:redisson/redisson 7 months ago
redisson-tomcat version updated 7 months ago
.gitignore Remove duplicate items in `.gitignore` 4 years ago
CHANGELOG.md Update CHANGELOG.md 7 months ago
DCO.txt DCO file added 5 years ago
LICENSE.txt license updated 6 years ago
README.md version updated 7 months ago
checkstyle.xml checkstyle rules added 6 years ago
header.txt license updated 1 year ago
pom.xml libs updated 7 months ago

README.md

Redisson - Easy Redis Java client
and Real-Time Data Platform

Maven Central JavaDoc License

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 - 21 and Android

Features

Comparing solutions

Redisson vs Jedis

Redisson vs Lettuce

Redis vs Apache Ignite

Redis vs Hazelcast

Redis vs Ehcache

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.32.0</version>
</dependency>  

Gradle

compile 'org.redisson:redisson:3.32.0'  

SBT

libraryDependencies += "org.redisson" % "redisson" % "3.32.0"

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 ...

Upgrade to Redisson PRO with advanced features.

Downloads

Redisson 3.32.0, Redisson node 3.32.0

FAQs

Q: What is the cause of RedisTimeoutException?

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?