README.md

    Redisson - Redis Java client
    with features of In-Memory Data Grid

    Maven Central JavaDoc License

    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 - 15, Android

    Features

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

    Gradle

    compile 'org.redisson:redisson:3.15.0'  

    SBT

    libraryDependencies += "org.redisson" % "redisson" % "3.15.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.createReactive(config);
    
    // RxJava2 API
    RedissonRxClient redissonRx = Redisson.createRx(config);
    // 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 ...
    

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

    Downloads

    Redisson 3.15.0, Redisson node 3.15.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?

    项目简介

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/redisson/redisson

    发行版本

    当前项目没有发行版本

    贡献者 68

    全部贡献者

    开发语言

    • Java 100.0 %