我应该检查 redis 多事务的每一步错误吗?

should I check error each step on a redis multi transaction?

我应该检查 redis 多事务的每一步错误吗?如果发生错误,是否意味着释放命令也会 return 错误?

例如。我可以吗:

 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
 }

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

conn.Send("MULTI")
conn.Send("SET", "foo", "bar")
...
reply, err := conn.Do("EXEC")
if err != nil {
    ...
}
...