在golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天编程网就整理分享《我如何知道 mGo 会话是否已关闭》,聊聊
在golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天编程网就整理分享《我如何知道 mGo 会话是否已关闭》,聊聊,希望可以帮助到正在努力赚钱的你。
问题内容我正在使用 Go 的 mongoDB 驱动程序 labix_mgo
的 *mgo.Session
,但是我不知道会话是否已关闭。当我使用关闭的会话时,将引发运行时错误。如果我知道会话已关闭,我想跳过会话副本。
首先,您正在使用的 mgo
驱动程序:gopkg.in/mgo.v2
(托管于 https://GitHub.com/go-mgo/mgo)不再维护。相反,请使用社区支持的分支 github.com/globalsign/mgo
,它具有向后兼容的 api。
mgo.Session
没有提供检测是否已关闭的方法(使用其 Session.Close()
方法)。
但是您不应该依赖其他人来关闭您正在使用的会话。 获取会话的相同代码应该负责关闭它。遵循这个简单的原则,您就不会遇到使用关闭会话的问题。
例如,如果我们以 WEB 服务器为例,在请求开头使用 Session.Copy()
(或 Session.Clone()
)获取会话,并在同一个处理程序中关闭会话(最好使用 defer),相同的功能。并将此会话传递给任何需要它的人。他们不必关闭它,他们不能这样做,这是创建它的函数的责任。
理论要掌握,实操不能落!以上关于《我如何知道 mgo 会话是否已关闭》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注编程网公众号吧!
--结束END--
本文标题: 我如何知道 mgo 会话是否已关闭
本文链接: https://www.lsjlt.com/news/596102.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0