【发布时间】:2015-08-15 10:38:22
【问题描述】:
我使用的是 Redis Cluster,有些键有一个特殊的前缀 {foo},所以 redis 将它们放在一个插槽中。
我这样做是因为我想针对这些键运行一些 lua 脚本(如果我作为单个实例登录到主服务器,我可以这样做)。
在我的设置中,我有 3 个主人,但不知道如何找到拥有我的钥匙 {foo} 的插槽的主人。*
你知道有什么方法可以找到持有特定钥匙/插槽的主人吗?
【问题讨论】:
我使用的是 Redis Cluster,有些键有一个特殊的前缀 {foo},所以 redis 将它们放在一个插槽中。
我这样做是因为我想针对这些键运行一些 lua 脚本(如果我作为单个实例登录到主服务器,我可以这样做)。
在我的设置中,我有 3 个主人,但不知道如何找到拥有我的钥匙 {foo} 的插槽的主人。*
你知道有什么方法可以找到持有特定钥匙/插槽的主人吗?
【问题讨论】:
我仍然需要阅读整个文档,但已经找到 this:
Redis 集群中有 16384 个哈希槽,计算什么是 给定密钥的哈希槽,我们只需取密钥的 CRC16 模 16384.
该操作已经有一个命令:
http://redis.io/commands/cluster-keyslot
>CLUSTER KEYSLOT somekey
11058
并找出服务器中有哪些插槽:
【讨论】: