redisson锁封装
时间: 2023-10-25 12:26:04 浏览: 46
Redisson 是一个基于 Redis 实现的 Java 驻内存数据网格(In-Memory Data Grid)框架,提供了丰富的功能和 API。其中之一就是分布式锁的实现,Redisson 的分布式锁是基于 Redis 的原子操作 setnx 和 expire 实现的。下面是 Redisson 锁的封装代码示例:
```java
import org.redisson.Redisson;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
public class RedissonLock {
private RedissonClient redissonClient;
public RedissonLock() {
Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
redissonClient = Redisson.create(config);
}
public void lock(String lockKey) {
RLock lock = redissonClient.getLock(lockKey);
lock.lock();
}
public void unlock(String lockKey) {
RLock lock = redissonClient.getLock(lockKey);
lock.unlock();
}
}
```
上面的代码实现了 Redisson 锁的封装,其中 `lock` 方法获取锁,`unlock` 方法释放锁。可以看到,使用 Redisson 实现分布式锁非常简单,只需要创建一个 RedissonClient 对象,然后调用 getLock 方法获取锁即可。值得注意的是,获取锁之后需要在 finally 块中释放锁,以确保异常情况下锁能够被正确释放。