-
存一个key到redis,设置失效时间,当程序需要获取锁的时候判断这个key是否存在,如果存在就是其他线程正在使用锁,将当前线程挂起,死循环获取锁。循环获取锁可以定义循环多长时间,每多久去获取锁优化一下。这种锁是不公平的,但是相对来说效率也较好
-
实现jdk的Lock接口,在lock()方法或者tryLock()方法中写添加redis的逻辑,在unlock()写删除redis key的逻辑
-
使用框架redisson,使用sdk实现分布式互斥锁
文档:https://github.com/redisson/redisson/wiki/8.-%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E5%92%8C%E5%90%8C%E6%AD%A5%E5%99%A8
仓库地址:https://github.com/redisson/redisson
基于redis的分布式互斥锁方案
最新推荐文章于 2024-04-04 16:09:43 发布