Skip to content
forked from redisson/redisson

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server.

License

Notifications You must be signed in to change notification settings

eliaidi/redisson

 
 

Repository files navigation

Redis based In-Memory Data Grid for Java. Redisson.

Based on high-performance async and lock-free Java Redis client and Netty framework.
Redis 2.8+ compatible.

Stable Release Version JDK Version compatibility Release Date
3.2.0 1.8+ 26.11.2016
2.7.0 1.6+ 26.11.2016

NOTE: Both version lines have same features except CompletionStage interface support added in 3.x.x

Please read documentation for more details.
Redisson releases history
Checkout more code examples

Licensed under the Apache License 2.0.

Welcome to support chat Join the chat at https://gitter.im/mrniko/redisson

####Try Redisson PRO version.
####Redisson team offers commercial support. Please contact [email protected] for details.

Features

  • AWS ElastiCache mode:
    1. automatic master server change discovery
  • AWS ElastiCache Cluster mode:
    1. automatic master and slave servers discovery
    2. automatic new master server discovery
    3. automatic new slave servers discovery
    4. automatic slave servers offline/online discovery
    5. automatic slots change discovery
  • Cluster servers mode:
    1. automatic master and slave servers discovery
    2. automatic new master server discovery
    3. automatic new slave servers discovery
    4. automatic slave servers offline/online discovery
    5. automatic slots change discovery
  • Sentinel servers mode:
    1. automatic master and slave servers discovery
    2. automatic new master server discovery
    3. automatic new slave servers discovery
    4. automatic slave servers offline/online discovery
    5. automatic sentinel servers discovery
  • Master with Slave servers mode
  • Single server mode
  • Asynchronous interface for each object
  • Asynchronous connection pool
  • Thread-safe implementation
  • Lua scripting
  • Distributed objects
    Object holder, Binary stream holder, Geospatial holder, BitSet, AtomicLong, AtomicDouble, PublishSubscribe, Bloom filter, HyperLogLog
  • Distributed collections
    Map, Multimap, Set, List, SortedSet, ScoredSortedSet, LexSortedSet, Queue, Deque, Blocking Queue, Bounded Blocking Queue, Blocking Deque, Delayed Queue
  • Distributed locks and synchronizers
    Lock, FairLock, MultiLock, RedLock, ReadWriteLock, Semaphore, PermitExpirableSemaphore, CountDownLatch
  • Distributed services
    Remote service, Live Object service, Executor service, Scheduler service
  • Spring Cache implementation
  • Hibernate Cache implementation
  • Tomcat Session Manager implementation
  • Spring Session implementation
  • JCache API (JSR-107) implementation
  • Reactive Streams
  • Redis pipelining (command batches)
  • Supports Android platform
  • Supports auto-reconnect
  • Supports failed to send command auto-retry
  • Supports OSGi
  • Supports many popular codecs (Jackson JSON, Avro, Smile, CBOR, MsgPack, Kryo, FST, LZ4, Snappy and JDK Serialization)
  • With over 1000 unit tests

Who uses Redisson

Infor, New Relic Synthetics, Singtel, Setronica, Monits, Brookhaven National Laboratory, [Netflix Dyno client] (https://github.com/Netflix/dyno), 武林Q传, Ocous, Invaluable, Clover , Apache Karaf Decanter, Atmosphere Framework, BrandsEye, Datorama, BrightCloud, Azar

Articles

Java data structures powered by Redis. Introduction to Redisson (pdf)
A Look at the Java Distributed In-Memory Data Model (Powered by Redis)
Distributed tasks Execution and Scheduling in Java, powered by Redis
Introducing Redisson Live Objects (Object Hash Mapping)
Java Remote Method Invocation with Redisson
Java Multimaps With Redis
Distributed lock with Redis

Quick start

Maven

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

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

Gradle

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

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

Java

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

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

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

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

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

// over 30 different objects and services ...

Downloads

Redisson 3.2.0, Redisson node 3.2.0

Redisson 2.7.0, Redisson node 2.7.0

Supported by

YourKit is kindly supporting this open source project with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.

About

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%