原文《A Guide to Redis with Redisson》, 地址为https://www.baeldung.com/redis-redisson
之前需要分布式锁时,使用jedis实现分布式锁(也可以选择使用MysQL数据库或者Zookeeper实现分布式锁),其实redisson已经帮我们实现了分布式锁,而且不止分布式锁,还实现了分布式Map、Set等等。
Maven依赖
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.3.0</version>
</dependency>
配置
redisson支持单机、主从、Sentinel、集群和复制模式。 下面以最简单的单机模式举例。
Config config = new Config();
config.useSingleServer()
.setAddress("127.0.0.1:6379");
RedissonClient client = Redisson.create(config);
锁和同步器
Redisson的Lock实现了java.util.concurrent.locks.Lock接口,下面是个调用Redisson提供的分布式锁例子
RLock lock = client.getLock("lock");
try {
lock.lock();
// perform some long operations...
}
finally {
lock.unlock();
}
Redisson还提供一下同步工具类
Lock
FairLock
MultiLock
ReadWriteLock
Semaphore
PermitExpirableSemaphore
CountDownLatch