redis集群上的锁

zkure5ic  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(453)

我有一个由3个主节点组成的redis集群,每个主节点都有相应的从节点。我想在集群上获取一个锁来执行一些写操作,然后释放锁。
从我读到的内容来看,要连接到一个集群,我们通常会连接到集群中的一个节点,并在该节点上执行所有操作,而该节点又会处理重新定向到集群中其他节点的操作。
有可能获得redis集群的锁吗[p、 我使用的是redisson client]来自redisson client中multilock和redlock下的示例(https://github.com/redisson/redisson/wiki/8.-distributed-locks-and-synchronizers),它们正在获取单个节点上的锁。
多锁或红锁如何在集群上工作?
如果我有一个redis集群,我应该如何使用锁,使用什么类型的锁?
我用哪个图书馆(绝地/雷迪森)?
绝地武士似乎也支持锁定星团(https://github.com/kaidul/jedis-lock).
p、 s:关于这方面我读了很多书,但是我还没有找到关于集群锁定的明确答案。非常感谢你的帮助。

b4qexyjb

b4qexyjb1#

我找到了解决上述问题的办法。
只要我们使用同一个密钥在所有客户机节点上获取锁,那么所有获取锁的尝试都将转到redis集群上的同一个节点。所以你可以用Redison的简单锁。
见对该问题的评论:https://github.com/leandromoreira/redlock-rb/issues/63

相关问题