redis分布式锁
2021/6/18 2:05:31
本文主要是介绍redis分布式锁,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、加锁 SET lock $uuid EX 20 NX (保证过期时间与 setNX原子,uuid保证只释放自己的锁)
2、释放锁 if redis.get("lock") == $uuid: redis.del("lock")
释放别人锁的场景:
-
客户端 1 加锁成功,开始操作共享资源
-
客户端 1 操作共享资源的时间,「超过」了锁的过期时间,锁被「自动释放」,需要评估业务逻辑与锁过期时间
-
客户端 2 加锁成功,开始操作共享资源
-
客户端 1 操作共享资源完成,释放锁(但释放的是客户端 2 的锁)
参考文章:https://mp.weixin.qq.com/s/EGGe14IpEsho75ntjeR3OA
这篇关于redis分布式锁的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31Tiny RDM:你的下一代Redis桌面GUI神器-icode9专业技术文章分享
- 2024-03-21redisinsight-v2
- 2024-02-26Typed property App\Api\Mapper\GamePropsConfigMapper::$apiRedis must not be accessed before initia-icode9专业技术文章分享
- 2024-02-21redisson getlock
- 2024-02-20redis config
- 2024-02-20redis leaderboard
- 2024-01-23缓存选型:Redis or MemCache
- 2024-01-22面试官:Redis持久化能关吗?怎么关?
- 2024-01-21Redis压测工具redis-benchmark-icode9专业技术文章分享
- 2024-01-19这才是你应该了解的Redis数据结构!