redisson分布式锁的用法大全
Redisson是Redis官方推荐的Java版的Redis客户端。它提供的功能非常多,此处我们只用它的分布式锁功能。
以springboot整合Redisson项目为例
添加springboot maven依赖
<dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.15.1</version> </dependency>
配置 redisson就不细讲了,咱们这边用默认配置,什么都不用配
编写测试代码
package com.miyou; import org.junit.jupiter.api.Test; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import java.util.concurrent.locks.Lock; public class DefaultTest extends UserRightsApplicationTests { @Autowired private RedissonClient redissonClient; @Test public void testLock() throws InterruptedException { Lock lock = redissonClient.getLock("test lock"); lock.lock(); System.out.println("锁获取成功"); new Thread(()->{ Lock rLock2 = redissonClient.getLock("test lock"); rLock2.lock(); System.out.println("线程2获取锁成功!"); rLock2.unlock(); }).start(); Thread.sleep(20000); System.out.println("主线程释放锁"); lock.unlock(); Thread.sleep(1200000); } }
默认情况下redisson分布式锁的超时时间为30秒,在锁即将超时的情况下redisson会检查拿到锁的线程id是否存活,如果线程存活redisson会对超时时间进行续期
redissonClient.getLock方法返回的接口类型为
org.redisson.api.RLock
查看源码,可以看到RLock继承了java.util.concurrent.locks.Lock接口
可以无缝对接使用Lock的业务场景,实现设计和传递
到此这篇关于redisson分布式锁的用法大全的文章就介绍到这了,更多相关redisson分布式锁内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring 校验(validator,JSR-303)简单实现方式
这篇文章主要介绍了Spring 校验(validator,JSR-303)简单实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10Spring cloud alibaba之Ribbon负载均衡实现方案
Spring cloud Ribbon是基于Netflix Ribbon实现的一套客户端的负载均衡工具,Ribbon客户端提供一系列完善的配置,如超时、重试等,Ribbon也可以实现自己的负载均衡算法,感兴趣的朋友跟随小编一起看看吧2021-07-07Java源码解析阻塞队列ArrayBlockingQueue常用方法
今天小编就为大家分享一篇关于Java源码解析阻塞队列ArrayBlockingQueue常用方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-01-01intelliJ idea 2023 配置Tomcat 8图文教程
这篇文章主要介绍了intelliJ idea 2023 配置Tomcat 8教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-06-06SpringBoot项目网页加载出现Whitelabel Error Page的解决
这篇文章主要介绍了SpringBoot项目网页加载出现Whitelabel Error Page的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-11-11Netty组件NioEventLoopGroup创建线程执行器源码解析
这篇文章主要介绍了Netty组件NioEventLoopGroup创建线程执行器源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-03-03
最新评论