Redis的应用——接口幂等性,分布式锁,基于注解+拦截器的接口幂等改进_接口幂redis分布式锁

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

}

}


Redis上锁的方式:



//第1种
redisTemplate.opsForValue.setIfAbsent(key,value,time,TimeUnit);

//第2种
RLock lock = redissonClient.getLock(key);
lock.lock(time,TimeUnit)//上锁


不管是第1种,还是第2种,底层都是:setnx key value px time;上面的2种有可能有问题,问题在于:业务可能超过:上锁的时间,导致业务还没完成,锁就已经失效


解决方案:看门狗机制



RLock lock = redissonClient.getLock(key);
try {
//获得一把锁,锁的时间默认是30S,间隔10S检测一次锁的状态,如果超过10S锁的状态,仍旧是在使用,就把锁的时间重置为30S
//配置 看门狗
lock = redissonClient.getLock(lock.getName());
lock.lock();//上锁
//写:上锁的以后的业务代码
}catch (Exception e){
}finally {
lock.unlock();//立即解锁
}


### 接口幂等改进



> 
> 使用 注解 + 拦截器完成对于 接口 进行幂等处理
> 
> 
> 


HTML页面


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f14f34715dad49b88df25c02563ef365.png)


OrderController


![在这里插入图片描述](https://i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值