diff --git a/cluster_test.go b/cluster_test.go index d409dcb5..a585ad78 100644 --- a/cluster_test.go +++ b/cluster_test.go @@ -229,6 +229,11 @@ var _ = Describe("Cluster", func() { Expect(res).To(ContainSubstring("cluster_known_nodes:6")) }) + It("should CLUSTER KEYSLOT", func() { + res, err := cluster.primary().ClusterKeySlot("somekey").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res).To(Equal(int64(11058))) + }) }) Describe("Client", func() { diff --git a/commands.go b/commands.go index 231d4721..ef615b0c 100644 --- a/commands.go +++ b/commands.go @@ -1698,6 +1698,13 @@ func (c *commandable) ClusterInfo() *StringCmd { return cmd } +func (c *commandable) ClusterKeySlot(key string) *IntCmd { + cmd := NewIntCmd("CLUSTER", "keyslot", key) + cmd._clusterKeyPos = 2 + c.Process(cmd) + return cmd +} + func (c *commandable) ClusterFailover() *StatusCmd { cmd := newKeylessStatusCmd("CLUSTER", "failover") c.Process(cmd)