获取“keypattern *”在Redis群集

时间:2017-02-08 12:26:43

标签: redis cluster-computing jedis redis-cluster

在Redis环境中,我们熟悉

等命令

:keys *

:获取模式

但这些在群集中不易使用。

我找到了“密钥*”的解决方法(尽管它很慢)。 但我坚持使用“get pattern

根据我的理解,原因,为什么它不起作用..

每个redis节点都使用算法来查找任何密钥的哈希值,并且它已经知道哪个哈希块由哪个节点拥有。因此它将调用(get / set / hmget / .....)重定向到该特定节点。

现在在模式的情况下,它无法识别哈希的所有者,直到它获得实际的密钥。

假设密钥是xyz,并且它的散列是100 如果我使用xy *,则无法获得可能的密钥列表,这些密钥以xy开头

我想知道,如果有人能在这里展示一些亮点,或者我的理解是错的(我会很高兴,如果是的话)或者是否有任何工具(如jedis ......)可用,这适用于我的要求

谢谢!

1 个答案:

答案 0 :(得分:0)

  

:keys *

永远不要在生产中使用。

  

:获取模式

Redis中没有类似的东西。

要回答您的问题,您需要连接到群集中的每个节点,并在每个节点中单独查找您的密钥,例如使用SCAN