最近在北京面试被问到的一些问题,求各位大老给思路!
使用Redisson锁的时候,设置的key被LRU淘汰了,这个场景应该怎么设计?
分布式锁如果用mysql来实现,死锁问题怎么解决?
最近在北京面试被问到的一些问题,求各位大老给思路!
使用Redisson锁的时候,设置的key被LRU淘汰了,这个场景应该怎么设计?
分布式锁如果用mysql来实现,死锁问题怎么解决?
对于你提到的两个问题,我将分别给出一些思考方向和解决方案:
Redisson 是一个基于 Redis 的 Java 客户端工具库,它提供了分布式锁等高级功能。当你使用Redisson锁时,如果设置的key被LRU(Least Recently Used,最近最少使用)算法淘汰了,这可能会导致锁丢失,从而引起并发问题。
使用MySQL来实现分布式锁,主要面临的是如何处理死锁问题。死锁是指多个事务互相等待对方持有的锁被释放,从而导致所有事务都无法继续执行的情况。
以上方法可以帮助你在使用Redisson锁时应对key被LRU淘汰的问题,以及在使用MySQL实现分布式锁时解决死锁问题。每种解决方案都有其适用场景,具体选择哪种方案取决于你的具体需求和业务场景。