我有以下情况。
为了防止并发资源访问,我们使用RPermitExpirableSemaphore
作为锁。
我希望从Expirable
中经过一些TTL后,可以删除Redis中的“锁定键”。但不幸的是,事实并非如此。
例如:
如果有新的尝试获取锁 X ,上述情况将从头开始。
Redisson中是否存在某种提供这种行为的Lock / Semaphore?
P.S。我无法手动删除信号量,因为如果还有其他客户端正在等待释放锁,它们将以信号量不存在(当然,因为它已被另一个客户端删除)的异常结束。结果就是我们泄漏了密钥(由于访问的资源是临时性的,因此以后将不再使用)。
答案 0 :(得分:1)