Redissonレッドロック

1.レッドロックの概要

Redisson RedLock(RedissonRedLock)は、Redis公式WebサイトのRedLockロックアルゴリズムを実装しています。インターロックと同様に、複数のRLockオブジェクトを赤いロックに関連付けるためにも使用できます。各RLockオブジェクトインスタンスは、異なるRedissonインスタンスから取得できます。

2.練習

構成ファイルの関連コンテンツについては、前回の記事Redissonインターロックを参照してください。

具体的な使用法は次のとおりです。

RLock lock1 = redissonClient1.getLock("lock1");
RLock lock2 = redissonClient2.getLock("lock2");
RLock lock3 = redissonClient3.getLock("lock3");
RedissonRedLock lock = new RedissonRedLock(lock1, lock2, lock3);
// 同时加锁:lock1 lock2 lock3
// 红锁在大部分节点上加锁成功就算成功。
lock.lock();
...
lock.unlock();

または

RedissonRedLock lock = new RedissonRedLock(lock1, lock2, lock3);
// 给lock1,lock2,lock3加锁,如果没有手动解开的话,10秒钟后将会自动解开
lock.lock(10, TimeUnit.SECONDS);
// 为加锁等待100秒时间,并在加锁成功10秒钟后自动解开
boolean res = lock.tryLock(100, 10, TimeUnit.SECONDS);
...
lock.unlock();

おすすめ

転載: blog.csdn.net/sinat_34241861/article/details/112363431