Redis-如何基于Redis实现分布式锁?

        基于redis实现分布式锁,可以通过SET NX命令,也就是当客户端需要申请锁的时候可以往redis尝试加入一个拥有唯一ID的锁变量,并通过EXPIRE设置过期时间,另外创建一个守护线程,定时检测锁的失效时间,如果锁快过期了,操作共享资源还没有完成,那么就自动对锁进行续期,重新设置过期时间;在完成对共享资源的操作后,通过编写Lua脚本判断是否为所属锁,并将其从redis删除以释放锁,释放操作具备原子性。

        以上基于Redis实现分布式锁的方法已经被Redisson框架所整合,所以 可以用Redisson直接实现。

参考:详解 Redis 分布式锁的 5 种方案-腾讯云开发者社区-腾讯云【包括为什么要设置唯一ID等】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值