lock4j-spring-boot-starter 高性能分布式锁 项目简介
一种简单的,支持不同方案的高性能分布式锁简介lock4j-spring-boot-starter是一个分布式锁组件,其提供了多种不同的支持以满足不同性能和环境的需求。立志打造一个简单但富有内涵的分布式锁组件。如何使用引入相关依赖。<dependency>
<groupId>com.baomidou</groupId>
<artifactId>lock4j-spring-boot-starter</artifactId>
<version>${version}</version>
</dependency>
<!--为支持多种环境redis不会默认引入,虽然初版只支持原生redisTemplate-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>配置原生redis信息。spring:
redis:
host: 47.100.20.186
...在需要分布式的地方使用Lock4j注解。@Service
public class DemoService {
//默认超时3秒,30秒过期
@Lock4j
public void simple() {
//do something
}
//完全配置,支持spel
@Lock4j(keys = {"#user.id", "#user.name"}, expire = 60000, tryTimeout = 1000)
public User customMethod(User user) {
return user;
}
}计划支持多种限流IP数组限流,基于用户限流。支持数据库级别,Redission, Zookeeper等多种组件。鸣谢感谢原作者zzh捐赠项目至苞米豆组织,其是此项目的核心开发者,后续也会主导项目的设计。本项目参考了 https://gitee.com/kekingcn/spring-boot-klock-starter ,其作者还有很多其他优秀项目。
<groupId>com.baomidou</groupId>
<artifactId>lock4j-spring-boot-starter</artifactId>
<version>${version}</version>
</dependency>
<!--为支持多种环境redis不会默认引入,虽然初版只支持原生redisTemplate-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>配置原生redis信息。spring:
redis:
host: 47.100.20.186
...在需要分布式的地方使用Lock4j注解。@Service
public class DemoService {
//默认超时3秒,30秒过期
@Lock4j
public void simple() {
//do something
}
//完全配置,支持spel
@Lock4j(keys = {"#user.id", "#user.name"}, expire = 60000, tryTimeout = 1000)
public User customMethod(User user) {
return user;
}
}计划支持多种限流IP数组限流,基于用户限流。支持数据库级别,Redission, Zookeeper等多种组件。鸣谢感谢原作者zzh捐赠项目至苞米豆组织,其是此项目的核心开发者,后续也会主导项目的设计。本项目参考了 https://gitee.com/kekingcn/spring-boot-klock-starter ,其作者还有很多其他优秀项目。