Java分布式锁lock-spring-boot-starter的应用

朱高丽
2023-12-01

lock-spring-boot-starter是一个基于Spring Boot的starter机制编写的分布式锁工具。 与其他分布式锁不同的是,使用起来更方便快捷,只需要通过注解@Lock的方式即可实现对方法进行加锁。

官网地址:http://tooleek.gitee.io/lock-spring-boot-starter/

支持的锁类型

可重入锁、公平锁、联锁、红锁、读锁、写锁

入门示例

1. 创建Spring Boot项目

2. 引入maven依赖

<dependency>
     <groupid>io.gitee.tooleek</groupid>
     <artifactid>lock-spring-boot-starter</artifactid>
     <version>1.1.2</version>
</dependency>

3. 在Spring Boot的项目配置文件application.yml中添加相应的配置,如:

lock-config: 
     pattern: single #redis模式配置,single:单机模式,cluster:集群模式,replicated:云托管模式,sentinel:哨兵模式,master_slave:主从模式
     # 不同的redis模式对应不同的配置方式,single-server对应的就是单机模式,具体参数意义可参考redisson的配置参数说明
     single-server: 
         address: 127.0.0.1
         port: 6379
         password: 123456

4. 在需要使用分布式锁的方法上面使用@Lock注解,锁的关键字使用@Key,如:

@Lock
 public void hello(String ces, @Key String orderNo) {
 	System.out.println("hello");
 }

注:如果需要配置不同类型的锁,可以直接变更@Lock的参数值即可,默认是可重入锁

@Lock提供四个参数可以配置: lockType:锁类型 leaseTime:加锁时间 waitTime:最长等待时间 timeUnit:锁时长单位

DEMO地址如下: https://gitee.com/tooleek/lock-spring-boot-starter-demo

 类似资料: