Redisson

Redisson - 具有内存数据网格功能的简易 Redis Java 客户端。Sync/Async/RxJava/Reactive API。50 多种基于 Redis 的 Java 对象和服务:Set、Multimap、SortedSet、Map、List、Queue、Deque、Semaphore、Lock、AtomicLong、Map Reduce、Bloom filter、Spring Cache、Tomcat、Scheduler、JCache API、Hibernate、RPC、本地缓存……「Redisson - Easy Redis Java client with features of In-Memory Data Grid. Sync/Async/RxJava/Reactive API. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, RPC, local cache ...」

Github stars Tracking Chart

Redisson - Easy Redis Java clientwith features of an in-memory data grid

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
Supported Redis: 3.0 ... 7.2

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

Gradle

compile 'org.redisson:redisson:3.27.1'  

SBT

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

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.27.1,
Redisson node 3.27.1

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?

Overview

Name With Ownerredisson/redisson
Primary LanguageJava
Program languageJava (Language Count: 1)
Platform
License:Apache License 2.0
Release Count231
Last Release Nameredisson-3.29.0 (Posted on 2024-04-22 11:06:34)
First Release Nameredisson-1.0.0 (Posted on 2014-01-17 20:45:46)
Created At2014-01-11 14:06:25
Pushed At2024-05-07 04:14:17
Last Commit At2024-05-07 07:15:51
Stargazers Count22.8k
Watchers Count882
Fork Count5.3k
Commits Count9.2k
Has Issues Enabled
Issues Count5062
Issue Open Count366
Pull Requests Count425
Pull Requests Open Count39
Pull Requests Close Count232
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top