lock4j-spring-boot-starter

高性能分布式锁
授权协议 Apache-2.0
开发语言 Java
所属分类 服务器软件、 分布式应用/网格
软件类型 开源软件
地区 国产
投 递 者 宋臻
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Pacq2Q.png

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

简介

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;
    }

}

计划

  1. 支持多种限流IP数组限流,基于用户限流。

  2. 支持数据库级别,Redission, Zookeeper等多种组件。

鸣谢

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

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

  • 一、简介 Lock4j是一个分布式锁组件,它提供了多种不同的支持以满足不同性能和环境的需求,基于Spring AOP的声明式和编程式分布式锁,支持RedisTemplate、Redisson、Zookeeper。 二、特性 简单易用,功能强大,扩展性强。 支持redission, redisTemplate, zookeeper,可混用,支持扩展。 Gitee:gitee.com/baomidou

  • 写道 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 可以 Maven | Gradle | Ant | Starter

  • 研究了一下在springboot中集成dubbo。不同的人有不同的做法,这里用正宗些的springboot方法。 一、中间接口 1.创建maven项目 2.声明所需要的接口 3.使用maven的package命令打包发布 二、 provider和 consumer的pom文件 <!-- 中间接口,视自己项目的情况而定 --> <dependency> <groupId>com.exa

  • 概述 什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。 Spring Boot 有哪些优点? Spring Boot 主要有如下优点: 容易上手,提升开发效率,为 Spring 开发提供一个更快、更广泛的入门体验。 开箱

  • 1.约定 单元测试代码写在src/test/java目录下 单元测试类命名为*Test,前缀为要测试的类名 2. 使用mock方式单元测试 Spring测试框架提供MockMvc对象,可以在不需要客户端-服务端请求的情况下进行MVC测试,完全在服务端这边就可以执行Controller的请求,跟启动了测试服务器一样。 测试开始之前需要建立测试环境,setup方法被@Before修饰。通过MockMv

  • 1. pom.xml中添加mvn依赖 <dependency> <groupId>org.togglz</groupId> <artifactId>togglz-spring-boot-starter</artifactId> <version>2.6.1.Final</version> </dependency> <dependency> <groupId>org.togglz

  • 1.spring-boot-starter的作用是引入依赖的jar包 以及 自己的自定义配置的jar包 命名规范: spring官方的starter的规范是 spring-boot-starter-模块名-版本号.jar                 第三方的starter的规范是       模块名-spring-boot-starter-版本号.jar 2.spring-boot-autoc

  • resources目录下添加配置文件logback-spring.xml <?xml version="1.0" encoding="UTF-8"?> <!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒;当scan为true时,此属性

 相关资料
  • 我正在努力学习spring boot,我注意到有两种选择。 > spring-boot-starter-web-根据文档,它支持全栈web开发,包括Tomcat和web-mvc spring-Boot-Starter-Tomcat 既然#1支持Tomcat,为什么要使用#2呢? 有什么不同? 谢谢

  • 主要内容:starter,spring-boot-starter-parent传统的 Spring 项目想要运行,不仅需要导入各种依赖,还要对各种 XML 配置文件进行配置,十分繁琐,但 Spring Boot 项目在创建完成后,即使不编写任何代码,不进行任何配置也能够直接运行,这都要归功于 Spring Boot 的 starter 机制。本节我们将对 stater 进行介绍。 starter Spring Boot 将日常企业应用研发中的各种场景都抽取出来,做成一个个的

  • 主要内容:Spring Boot Web 快速开发,示例 Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,其本身就是 Spring 框架的一部分,可以与 Spring 无缝集成,性能方面具有先天的优越性,是当今业界最主流的 Web 开发框架之一。   Spring Boot 是在 Spring 的基础上创建一款开源框架,它提供了 spring-boot-starter-web(Web 场景启动器) 来为

  • kaptcha-spring-boot-starter 基于 springBoot2.0 和 Google Kaptcha 的验证码组件,kaptcha-spring-boot-starter 可以很方便的集成验证码到你的系统中。 如何使用 引入 kaptcha-datasource-spring-boot-starter。 <dependency>  <groupId>com.baomidou<

  • springboot启动器,自动在日志中打印输入输出参数,快捷方便,无需任何配置项,依赖少,开箱即用。 无中文乱码,可设置拦截路径和排除路径,可配置是否打印输入和输出。可以用于测试和开发环境排除bug查找问题。也可以直接用于生产环境记录请求。 使用方法: 1.clone代码到本地 git clone git@gitee.com:sjlian/printparam-spring-boot-start

  • lock-spring-boot-starter 介绍 基于 redisson 实现的 spring boot starter 分布式锁框架,实现了可重入锁、公平锁、联锁、红锁、读写锁等常用锁的方式,并支持集群模式下的 redis 。 使用说明 创建 Spring Boot 项目 引入 maven 依赖  <dependency>     <groupId>org.august.spring.bo