开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

baomidou / lock4j-spring-boot-starterJavaApache-2.0

指数
0
Watch 51 Star 131 Fork 39
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
基于SpringBoot 支持RedisTemplate Redisson Zookeeper的分布式锁 快速启动器 展开 收起

取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

一种简单的,支持不同方案的高性能分布式锁

QQ群:710314529

简介

lock4j-spring-boot-starter是一个分布式锁组件,其提供了多种不同的支持以满足不同性能和环境的需求。

立志打造一个简单但富有内涵的分布式锁组件。

如何使用

  1. 引入相关依赖。
<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>
  1. 配置原生redis信息。
spring:
  redis:
    host: 47.100.20.186
    ...
  1. 在需要分布式的地方使用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;
    }

}

计划

  1. 支持多种限流IP数组限流,基于用户限流。
  2. 支持数据库级别,Redission, Zookeeper等多种组件。

鸣谢

感谢原作者zzh捐赠项目至苞米豆组织,其是此项目的核心开发者,后续也会主导项目的设计。

本项目参考了 https://gitee.com/kekingcn/spring-boot-klock-starter ,其作者还有很多其他优秀项目。

项目点评 ( 6 )

你可以在登录后,发表评论

搜索帮助