forked from mirror/redis
♻️ Commands that specify keyslots should not try to hash for keyslot location
This commit is contained in:
parent
0e69501b5a
commit
dba9cb31f5
|
@ -767,8 +767,11 @@ func cmdSlot(cmd Cmder, pos int) int {
|
|||
if pos == 0 {
|
||||
return hashtag.RandomSlot()
|
||||
}
|
||||
firstKey := cmd.stringArg(pos)
|
||||
return hashtag.Slot(firstKey)
|
||||
val, ok := cmd.Args()[pos].(int)
|
||||
if ok {
|
||||
return val
|
||||
}
|
||||
return hashtag.Slot(cmd.stringArg(pos))
|
||||
}
|
||||
|
||||
func (c *ClusterClient) cmdSlot(cmd Cmder) int {
|
||||
|
|
|
@ -74,6 +74,11 @@ func cmdString(cmd Cmder, val interface{}) string {
|
|||
|
||||
func cmdFirstKeyPos(cmd Cmder, info *CommandInfo) int {
|
||||
switch cmd.Name() {
|
||||
case "cluster":
|
||||
switch cmd.stringArg(1) {
|
||||
case "getkeysinslot":
|
||||
return 2
|
||||
}
|
||||
case "eval", "evalsha":
|
||||
if cmd.stringArg(2) != "0" {
|
||||
return 3
|
||||
|
|
Loading…
Reference in New Issue