redisson的锁的类型_简单到你一看就懂的分布式锁:redisson分布式锁

在分布式环境中,很多场景都需要分布式锁如:秒杀、ID生成等,今天介绍一种redis官方推荐的方法——使用redission实现分布式锁,这是最常用的锁,可重入锁的实现方式

引入jar包:

org.redisson

redisson

3.8.1

初始化连接:这里使用的是集群,其他非集群方式也很简单,百度一下就可以了@Configuration

public class RedissonInit {

@Bean

public static RedissonClient getInstance(){

Config config = new Config();

config.useClusterServers()

// cluster state scan interval in milliseconds

.setScanInterval(20000)

.addNodeAddress("//192.168.0.99:7001", "//192.168.0.99:7002")

.addNodeAddress("//192.168.0.99:7003");

RedissonClient redisson = Redisson.create(config);

return redisson;

}

}

在你需要使用锁的service中直接引入RedissonClient对象:@Autowired

public RedissonClient redissonClient;

使用可重入锁:// 最常见的使用方法

RLock lock = redissonClient.getLock("testLock");

lock.lock();

//...

lock.unlock();

//另外Redisson还通过加锁的方法提供了leaseTime的参数来指定加锁的时间。超过这个时间后锁便自动解开了。

// 加锁以后10秒钟自动解锁

// 无需调用unlock方法手动解锁

lock.lock(10, TimeUnit.SECONDS);

// 尝试加锁,最多等待100秒,上锁以后10秒自动解锁

boolean res = lock.tryLock(100, 10, TimeUnit.SECONDS);

if (res) {

try {

...

} finally {

lock.unlock();

}

}

以上就通过redisson实现了分布式锁,简单到一看就会,如果你仔细看了一遍的话,当然如果你还需要了解redisson其他的一些锁的应用的话,你就得好好研究一下它了,还有很多其他类型的锁,但是这个是最常用的,希望对你有帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值