我应该在redis multi事务的每个步骤检查错误吗?如果发生某些错误,那意味着释放命令也会返回错误吗?
例如我可以:
conn.Do("multi")
conn.Do("set", "mm", "xx")
reply, err := conn.Do("exec")
if err != nil {
....
}
或者,我应该:
_, err := conn.Do("multi")
if err != nil {
....
return
}
_, err := conn.Do("set", "mm", "xx")
if err != nil {
....
return
}
reply, err := conn.Do("exec")
if err != nil {
....
return
}
答案 0 :(得分:3)
要进行交易,您需要Content-Type
每个命令,并且仅Send()
个EXEC。只能对Do()
进行错误检查,如下所示:
Do()