分类目录

链接

2023 年 2 月
 12345
6789101112
13141516171819
20212223242526
2728  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > JAVA > 正文
springboot使用lock4j实现并发控制
JAVA 暂无评论 阅读(104)

一般情况下,我们使用乐观锁来处理并发超发的情况,但是,乐观锁在某些情况下,并不能彻底解决超发情况,于是只能上悲观锁(synchroized, 独占线程),特别是在分布式的情况下分布试锁就更为常见了。

下以使用一种基于redis的分布试锁来实现并发控制。

pom.xml增加:

<!--若使用redisson作为分布式锁底层,则需要引入-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>lock4j-redisson-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>

 

 

application.yml配置:

spring:
  redis:
    host: hk.peos.cn
    port: 6379

 

 

示例代码:

@Transactional
@Lock4j
@Override
publicResult add(ErrorLog errorLog){
int count =this.count();
if(count >50){
returnResult.error();
}
int flag = baseMapper.insert(errorLog);
return flag >0?Result.success():Result.error();
}

 

 

JMETER并发测试:

 

数据库数量(符合预期):

 

官方地址:

https://github.com/baomidou/lock4j

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:springboot使用lock4j实现并发控制 | Bruce's Blog

发表评论

留言无头像?