spring-boot-klock-starter V1.1 主体功能重大更新

KL博客
 KL博客
发布于 2018年01月25日
收藏 25

spring-boot-klock-starter

基于redis的spring-boot分布式锁组件,使得项目拥有分布式锁能力变得异常简单,开箱即用。

此组件同样适用于spring mvc项目。

本次更新内容:

  1. 支持锁定方法入参的业务key

  2. 支持注解方式获取业务key

  3. 支持Spel获取业务key

具体使用方式如下:

输入图片说明

使用场景描述:

本次更新主要解决,如果入参的value相同时需要加锁,入参的value不同的时候不加锁直接放行的场景;

开箱即用

1.添加lock starter组件依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-klock-starter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

2.application.properties配置redis链接:spring.klock.address=127.0.0.1:6379

3.在需要加分布式锁的方法上,添加注解@Klock,如:

@Service
public class TestService {

    @Klock(waitTime = Long.MAX_VALUE)
    public String getValue(String param) throws Exception {
        if ("sleep".equals(param)) {//线程休眠或者断点阻塞,达到一直占用锁的测试效果
            Thread.sleep(1000 * 50);
        }
        return "success";
    }
}
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:spring-boot-klock-starter V1.1 主体功能重大更新
加载中

最新评论(10

nj冰红茶
nj冰红茶
还有从服务器的expire似乎有问题
nj冰红茶
nj冰红茶
redis异步复制,机器挂了,会丢锁吗
KL博客
KL博客

引用来自“freezingsky”的评论

目前,大多数的Redis分布锁方案都是锁单个Key,作者有没有时间实现一下,一次可以同时锁多个Key的。基于set指令的实现^_^
没时间。貌似现有就是你要的场景吧
KL博客
KL博客

引用来自“freezingsky”的评论

整体上,简单易用是实话,本质上就是在Redission上包一层。但KeyProvider机制没有公共接口,想要自己扩展就得改你的源码。。另外,StringBuffer 换到 builder吧。
不换:sunglasses:
f
freezingsky
目前,大多数的Redis分布锁方案都是锁单个Key,作者有没有时间实现一下,一次可以同时锁多个Key的。基于set指令的实现^_^
f
freezingsky
整体上,简单易用是实话,本质上就是在Redission上包一层。但KeyProvider机制没有公共接口,想要自己扩展就得改你的源码。。另外,StringBuffer 换到 builder吧。
KL博客
KL博客

引用来自“开源中国首席董事长”的评论

starter非官方命名规范 xxx-spring-boot-starter. 一看就不专业。

引用来自“KL博客”的评论

@开源中国首席董事长 你这关注点可以,你最专业

引用来自“哈哈爱兮爱兮乎乎”的评论

人家说的没错,为啥不遵循一样的习惯呢
回复@哈哈爱兮爱兮乎乎 : 项目评论里有说明了,不想一遍一遍的解释了
哈哈爱兮爱兮乎乎
哈哈爱兮爱兮乎乎

引用来自“开源中国首席董事长”的评论

starter非官方命名规范 xxx-spring-boot-starter. 一看就不专业。

引用来自“KL博客”的评论

@开源中国首席董事长 你这关注点可以,你最专业
人家说的没错,为啥不遵循一样的习惯呢
KL博客
KL博客

引用来自“开源中国首席董事长”的评论

starter非官方命名规范 xxx-spring-boot-starter. 一看就不专业。

@开源中国首席董事长 你这关注点可以,你最专业
每周精粹
每周精粹
starter非官方命名规范 xxx-spring-boot-starter. 一看就不专业。

返回顶部
顶部