https://cloud.tencent.com/developer/article/2343229
以下是一个基本的 Redis 分布式锁的使用流程:
然而,这种最基本的锁存在一个问题,那就是如果客户端 A 在执行完毕后,因为某些原因(比如崩溃或网络问题)无法发送 DEL 命令来释放锁,那么其他客户端将永远无法获得锁。为了解决这个问题,我们需要引入锁的超时机制。
image-20230916130718524
下是一个带有超时机制的 Redis 分布式锁的使用流程:
这样,即使客户端 A 在执行完毕后无法释放锁,其他客户端也可以在锁超时后获得锁。