我应该在Redis Multi事务的每个步骤中检查错误吗?

时间:2018-07-25 06:36:15

标签: go redis redigo

我应该在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
 }

1 个答案:

答案 0 :(得分:3)

要进行交易,您需要Content-Type每个命令,并且仅Send()个EXEC。只能对Do()进行错误检查,如下所示:

Do()