lock4j 分布式锁使用演示

Lock4j 简介

Lock4j 是一个分布式锁组件,其提供了多种不同的支持以满足不同性能和环境的需求。立志打造一个简单但富有内涵的分布式锁组件。

主要特性

  • 多种执行器支持(Redis、Redisson、Zookeeper)
  • 注解式使用,简单易用
  • 支持 SpEL 表达式
  • 可自定义锁key生成器和失败策略
  • 支持手动上锁解锁

快速开始

1

添加依赖

在项目的 pom.xml 文件中添加 Lock4j 依赖:

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>lock4j-redis-template-spring-boot-starter</artifactId>
  <version>2.2.5</version>
</dependency>
2

配置 Redis 连接

确保 Redis 连接信息配置正确,以下为默认配置位置

spring:
  data:
    redis:
      host: pig-redis
3

使用 @Lock4j 注解

在需要分布式锁的方法上添加 @Lock4j 注解:

@Service
public class DemoService {

    // 默认获取锁超时3秒,30秒锁过期
    @Lock4j
    public void simple() {
        // do something
    }
}

配置说明

全局属性配置

高级特性

可在方法级指定使用某种执行器,若自己实现的需要提前注入到Spring:

@Service
public class DemoService {

    // 可在方法级指定使用某种执行器
    @Lock4j(executor = RedissonLockExecutor.class)
    public Boolean test() {
        return "true";
    }
}

在实际项目中,建议优先使用注解方式,手动上锁主要用于复杂业务场景下的精细化控制。

相关链接

♥️ 获取支持

遇到问题?

如果您在使用过程中遇到任何问题、有功能建议或需求,请点击此卡片前往 Gitee 仓库提交 Issue。