gpt4 book ai didi

mongodb - 我怎么知道 mgo session 是否关闭

转载 作者:IT王子 更新时间:2023-10-29 00:46:58 35 4
gpt4 key购买 nike

我正在为 Go 使用 MongoDB 驱动程序 labix_mgo*mgo.Session,但是我不知道 session 是否已关闭。当我使用关闭的 session 时,将引发运行时错误。如果我知道 session 已关闭,我想跳过 session 副本。

最佳答案

首先,您正在使用的 mgo 驱动程序:gopkg.in/mgo.v2(位于 https://github.com/go-mgo/mgo)不再维护。而是使用社区支持的分支 github.com/globalsign/mgo ,它有一个向后兼容的 API。

mgo.Session不提供检测它是否已关闭的方法(使用其 Session.Close() 方法)。

但是您不应该依赖其他人来关闭您正在使用的 session 。 获取 session 的同一代码应该负责关闭它。遵循这个简单的原则,您就不会遇到使用已关闭 session 的问题。

例如,如果我们以网络服务器为例,使用 Session.Copy() 获取 session (或 Session.Clone() )在请求的开头,并在同一处理程序中关闭 session (最好使用延迟),在同一函数中。并将此 session 传递给任何需要它的人。他们不必关闭它,他们不应该关闭它,这是创建它的函数的责任。

关于mongodb - 我怎么知道 mgo session 是否关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52849583/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com