{ "@context": "https://schema.org", "@type": "Article", "headline": "我应该检查 redis 多事务的每一步错误吗?", "datePublished": "2024-04-10T12:36:24", "dateModified": "2024-04-10T12:36:24", "description": "亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《我应该检查 redis 多事务的每一步错误吗?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。问题内容我应该检查 redis 多事务的每一步错误吗?如果发生错误,是否意味着release命令也会返回错误?例如。我可以吗:conn.do(multi) conn.do(set, mm, xx) reply, err := conn.do(exec) if err != nil { ", "publisher": { "@type": "Organization", "name": "Golang学习网", "url": "https://m.17golang.com" }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https://m.17golang.com/article/121989.html" } }
登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-10 12:36:24 149浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《我应该检查 redis 多事务的每一步错误吗?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

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

例如。我可以吗:
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() 执行。应仅对 do() 进行错误检查,如下所示:

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

到这里,我们也就讲完了《我应该检查 redis 多事务的每一步错误吗?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>