我应该检查 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 {
...
}
...
我应该检查 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 {
...
}
...