分布式锁klock使用

荐学习视频

官方网站

spring-boot-klock-starter

基于redis的分布式锁spring-boot starter组件,使得项目拥有分布式锁能力变得异常简单,支持spring boot,和spirng mvc等spring相关项目

项目使用步骤

  • 服务POM引入
<dependency>
    <groupId>cn.keking</groupId>
    <artifactId>spring-boot-klock-starter</artifactId>
</dependency>
  • nacos配置application-dev.yml文件中的klock配置,注意:redis没密码时password需删除,否则会报错
spring: 
 # 分布式锁klock配置redis
  klock:
    address: redis://joolun-pro-redis:6379
    database: 3
    # 如redis没密码此项需删除
    password: 
  • 业务代码使用案例:商城处理订单回调,加入@klock注解,防止支付平台同时发多次回调导致异常数据
	@Override
	@Transactional(rollbackFor = Exception.class)
	//加锁防止支付平台同时发多次回调
	@Klock(name = "NotifyOrder", keys = {"#orderInfo.getId()"}, lockTimeoutStrategy = LockTimeoutStrategy.FAIL_FAST)
	public void notifyOrder(OrderInfo orderInfo) {
    	.......
    	}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值