0

在 Redis 环境中,我们熟悉类似的命令

:键 *

: 获取模式

但是这些在集群中不容易工作。

我找到了“keys *”的解决方法(虽然它很慢)。但我坚持“获取模式

根据我的理解,它不起作用的原因是..

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

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

假设键是 xyz,如果我使用 xy*,它的散列是 100,它不可能得到以 xy 开头的键的可能散列列表

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

谢谢 !

4

1 回答 1

1

:键 *

切勿在生产中使用。

: 获取模式

Redis 中没有类似的东西。

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

于 2017-02-08T12:48:28.860 回答