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.0</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