分布式锁释放问题
如果一个线程加了分布式锁,任务执行超时,锁被超时释放了,这种情况怎么处理?还有如果Redis集群中,主节点加了锁,从节点还没同步完成,主节点挂了,接着从节点升级为主节点,岂不是又可以加锁,然后主节点恢复,会不会出现两把同样的锁?
70
收起
正在回答
1回答
1、超时释放锁,这是正常的逻辑,避免一个线程长时间占用锁,其他线程不能获取锁资源。
2、你的问题很好,redis的官方文档中对你说的情况也有描述,redis官方建议使用单节点或者多独立主节点(没有从节点),这种架构只是针对于分布式锁,其他业务还是需要主从的。建议读一下redis的官方文档:https://redis.io/topics/distlock
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星