lock4j--分布式锁中间件--使用实例

原文网址:lock4j–分布式锁中间件–使用/实例_的博客-CSDN博客

简介

说明

本文用示例介绍分布式锁中间件lock4j 的用法。

相关网址

gitee:https://gitee.com/baomidou/lock4j

github:https://github.com/baomidou/lock4j(Star数:68)

lock4j的参考项目:https://gitee.com/kekingcn/spring-boot-klock-starter

友情提示

本人实际使用lock4j过程中遇到了很多问题,不推荐使用lock4j,推荐直接使用redisson的分布式锁。

遇到的问题有:

  1. 获取锁超时时并没有抛异常,而是一直等待获取到锁

概述

  1. lock4j与@Transactional类似:将注解写在方法上,自动控制上锁与释放锁。
  2. lock4j支持Redis(RedisTemplate或Redisson)、Zookeeper作为底层
    1. 2.0之后支持Redisson和Zookeeper
    2. 建议基于Redisson
      1. 原因:可以利用redisson的特性:自动续期等
      2. 方法:引入依赖:lock4j-redisson-spring-boot-starter
  3. 支持SPEL
  4. 执行顺序
    1. 如果在service上有@Transactional和@lock4j,则执行顺序如下
      1. 上锁
      2. 开启事务
      3. 执行逻辑
      4. 提交/回滚事务
      5. 释放锁
  5. 实现原理
    1. AOP:Advisor + methodInterception

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值