nicelock--一个注解即可使用Redis分布式锁!

nicelock是一个稳定、方便地分布式锁工具:一个注解,即可使用Java的分布式锁。(基于Redisson,非常稳定!)。

nicelock和lock4j是类似的工具。但lock4j有一个致命bug:释放锁有问题,经常会出现获取锁失败!而nicelock没有这个问题,而且有更多的功能,比如:可以指定超时时抛出的Exception的类型。

官网:https://www.yuque.com/knifeblade/opensource/nicelock

gitee:https://gitee.com/knifeedge/nicelock

github:https://github.com/knife-blade/nicelock

1.介绍

nicelock:一个注解,即可使用Java的分布式锁。(基于Redisson,稳定!)

2.快速使用

1.引入依赖

<dependency>

    <groupId>com.suchtool</groupId>

    <artifactId>nicelock-spring-boot-starter</artifactId>

    <version>{newest-version}</version>

</dependency>

2.配置Redis

本组件基于Redisson,要添加Redis相关配置,比如:

spring:

  redis:

    host: 127.0.0.1

    port: 6379

    password: 222333

3.使用

@NiceLock(keys = {"#user.id", "#orderNo"})

public String createOrder(User user, String orderNo) {

    System.out.println("创建订单");

    return "success";

}

3.详细配置

1.执行顺序

默认情况下,本组件在@Transactional之前执行。你可以指定本组件的执行顺序,在SpringBoot的启动类上加如下注解即可:

@EnableNiceLock(order = 1)

比如:

package com.knife.example;

import com.suchtool.nicelock.annotation.EnableNiceLock;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

@EnableNiceLock(order = 1)

public class DemoApplication {

    public static void main(String[] args) {

        SpringApplication.run(DemoApplication.class, args);

    }

}

2.配置大全

支持yml等配置方式。

配置描述默认值

suchtool.nicelock.keyPrefix存到Redis里的key的前缀nicelock

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容