Spring Boot+Redis 分布式锁:模拟抢单

如何删除锁
模拟抢单动作(10w个⼈开抢)
jedis的nx⽣成锁
对于java中想操作redis,好的⽅式是使⽤jedis,⾸先pom中引⼊依赖:
<dependency>
<groupId> redis.clients </groupId>
<artifactId> jedis </artifactId>
</dependency>
对于分布式锁的⽣成通常需要注意如下⼏个⽅⾯:
创建锁的策略:
redis的普通key⼀般都允许覆盖,A⽤⼾set某个key后,B在set相同的key时同样能成功,如果是锁场景,
那就⽆法知道到底是哪个⽤⼾set成功的;这⾥jedis的setnx⽅式为我们解决了这个问题,简单原理是:当A⽤⼾先set成功
了,那B⽤⼾set的时候就返回失败,满⾜了某个时间点只允许⼀个⽤⼾拿到锁。
锁过期时间:
某个抢购场景时候,如果没有过期的概念,当A⽤⼾⽣成了锁,但是后⾯的流程被阻塞了⼀直⽆法释放锁,那
09-10 174
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值