我尝试使用mysql2redis将数据加载到redis群集。
当我尝试接受的解决方案时,即
} else if e.Command == "HMSET" {
// Build up a string slice to hold the key value pairs
args := make([]string, 0, len(e.MapData) * 2)
for k, v := range e.MapData {
args = append(args, k, v)
}
_,err := redis.StringMap(client.Do("HMSET", e.Key, args...))
checkErr(err, "hmset error:")
}
我得到以下异常,
too many arguments in call to client.Do
have (string, string, []string...)
want (string, ...interface {})
说到Go,我是个新手。那么围棋老兵可以看看这个并建议一个解决方案吗?
答案 0 :(得分:1)
在Go中,您可以使用切片作为可变参数。但是,切片必须包含传递给函数所需的所有参数。您也无法展开切片并传递其他参数。
因此,您的代码应该是:
^.+?[\r\n]+(.+?)[\r\n]