mirror of https://github.com/go-redis/redis.git
⏪ Reverting changes to command.go, refactoring cluster client's calls to cmdSlot
This commit is contained in:
parent
f3804cd0b7
commit
67dcdea95a
|
@ -767,11 +767,8 @@ func cmdSlot(cmd Cmder, pos int) int {
|
|||
if pos == 0 {
|
||||
return hashtag.RandomSlot()
|
||||
}
|
||||
val, ok := cmd.Args()[pos].(int)
|
||||
if ok {
|
||||
return val
|
||||
}
|
||||
return hashtag.Slot(cmd.stringArg(pos))
|
||||
firstKey := cmd.stringArg(pos)
|
||||
return hashtag.Slot(firstKey)
|
||||
}
|
||||
|
||||
func (c *ClusterClient) cmdSlot(cmd Cmder) int {
|
||||
|
@ -791,7 +788,7 @@ func (c *ClusterClient) cmdSlotAndNode(cmd Cmder) (int, *clusterNode, error) {
|
|||
}
|
||||
|
||||
cmdInfo := c.cmdInfo(cmd.Name())
|
||||
slot := cmdSlot(cmd, cmdFirstKeyPos(cmd, cmdInfo))
|
||||
slot := c.cmdSlot(cmd)
|
||||
|
||||
if c.opt.ReadOnly && cmdInfo != nil && cmdInfo.ReadOnly {
|
||||
if c.opt.RouteByLatency {
|
||||
|
|
|
@ -74,11 +74,6 @@ 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