Java 有没有空闲TTL的锁/信号量
我有以下情况 为了防止并发资源访问,我们使用Java 有没有空闲TTL的锁/信号量,java,redis,redisson,Java,Redis,Redisson,我有以下情况 为了防止并发资源访问,我们使用rpermitexpirablesmaphore作为锁。 从Expirable中,我希望Redis中的“lock key”会在一些TTL之后被删除。但不幸的是,事实并非如此 例如: A尝试获取锁X A使用TTL 1m创建(因为它以前不存在)锁X A获取锁X B尝试获取锁X B等待A释放锁X B获取锁X 一分钟过去了 Redis删除锁(键)X 如果有新的尝试获取lockX,上述场景将从头开始 Redisson中是否有某种锁/信号量提供这种行为 另外,
rpermitexpirablesmaphore
作为锁。
从Expirable
中,我希望Redis中的“lock key”会在一些TTL之后被删除。但不幸的是,事实并非如此
例如:
- A尝试获取锁X
- A使用TTL 1m创建(因为它以前不存在)锁X
- A获取锁X
- B尝试获取锁X
- B等待A释放锁X
- B获取锁X
- 一分钟过去了
- Redis删除锁(键)X
另外,我不能手动删除信号量,因为如果有其他客户端正在等待释放锁,那么最终会出现一个例外,即信号量不存在(当然,因为它已被另一个客户端删除)。因此,我们有泄漏的密钥(由于访问的资源是暂时的,所以将来不会使用该密钥)。该问题已在3.12.0版中修复。
问题:。
提交:您的意思是许可证预期不会过期吗?您好@NikitaKoksharov您已经在范围内修复了此问题(如果)