锁定redis群集

问题描述 投票:2回答:1

我有一个由3个主节点组成的Redis集群,每个主节点都有对应的从节点。我想在集群上获取一个锁以执行一些写操作,然后释放该锁。

据我所读,要连接到群集,我们通常连接到群集中的一个节点,并在该节点上执行所有操作,从而依次重定向到群集中的其他节点。

是否有可能在Redis集群上获得锁定? [PS我正在使用Redisson客户端]从Redisson客户端的Multilock和redlock(https://github.com/redisson/redisson/wiki/8.-Distributed-locks-and-synchronizers)下的示例中,他们正在获取单个节点上的锁。

  • 多重锁定或红色锁定如何在群集上工作?
  • 如果有Redis集群,我将如何以及使用哪种锁?
  • 我使用哪个图书馆(Jedis / Redisson)?

Jedis似乎也支持锁定群集(https://github.com/kaidul/jedis-lock)。

PS:我已经对此进行了广泛的阅读,但是我无法找到有关锁定群集的明确答案。非常感谢您的帮助。

redis distributed-computing spring-data-redis redis-cluster distributed-lock
1个回答
0
投票
只要我们使用相同的密钥来跨所有客户端节点获取锁,所有获取该锁的尝试都将转到Redis集群上的同一节点。因此,您可以只使用Redisson中的简单Rlock。

请参阅对此问题的评论:https://github.com/leandromoreira/redlock-rb/issues/63

© www.soinside.com 2019 - 2024. All rights reserved.