天在搞go的redis,使用的是redigo
redigo的执行动作都是通过Do来进行的
//Do定义func (c *conn) Do(cmd string, args ...interface{}) (interface{}, error)
他使用了可变参数,我个人想在他的基础上做改进, 用hash把key分布到不同节点,在业务端做分库, 然后我新写了一个func:
func CallDo(cmd string, args ...interface{}) (interface{}, error){ //TODO:查询redis子节点 return rc.Do(cmd, args) }
现在Do
和CallDo
的问题是,我在CallDo
也使用了可变参数, 在传到Do
的时候参数个数就变了, 想问大神们这个有解决办法吗,或者 go有类似call_user_func
这种回调吗
相关分类