Reverting changes to command.go, refactoring cluster client's calls to cmdSlot

This commit is contained in:
Jake Gregg 2019-02-01 09:12:20 -08:00
parent f3804cd0b7
commit 67dcdea95a
2 changed files with 3 additions and 11 deletions

View File

@ -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 {

View File

@ -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