加锁成功的线程,将UUID和线程id和key绑定,
加锁成功后,内部有一个看门狗机制,每隔十秒看下当前线程是否还持有锁,延长生存时间。
没有获取锁的就一直自旋等待,直到超时。
如果redis是主从同步的,redisson只能保证高可用和高性能,不能保证高一致性。
每次设置锁只会往一个节点设置锁,redis内部进行同步。这个问题看可以通过redLock来解决,针对redis当中所有节点进行同步,所有节点存储完毕才会返回成功。
redLock是n/2+1个节点加锁成功就返回成功。遍历所有的Redis客户端,然后依次加锁,最后统计成功的次数来判断是否加锁成功。