Redisson is a Redis Java client with features of In-Memory Data Grid. It provides more convenient and easiest way to work with Redis.
Use Redis commands mapping table to find Redisson method for a particular Redis command.
Based on Netty framework. Redis 3.0+ and JDK 1.8+ compatible.
1. Distributed locks and synchronizers
1.1. Lock
Redis based distributed reentrant Lock object for Java and implements Lock interface.
If Redisson instance which acquired lock crashes then such lock could hang forever in acquired1 state. To avoid this Redisson maintains lock watchdog, it prolongs2 lock expiration while lock holder Redisson instance is alive. By default lock watchdog timeout is 30 seconds and can be changed through Config.lockWatchdogTimeout setting.
leaseTime
parameter during lock acquisition3 can be defined. After specified time interval locked lock will be released automatically.
RLock
object behaves according to the Java Lock specification4. It means only lock owner thread can unlock it otherwise IllegalMonitorStateException
would be thrown.
RLock对象的行为是根据Java锁规范进行的。这意味着只有锁的所有者线程可以解锁,
Code example:
RLock lock = redisson.getLock("mylock");
// tranditional lock method
lock.lock();
// or acquire lock and automatically unlock it after 10s
lock.lock(