文章中与 go 并发运行 mongodb 查询说 mgo.DialWithInfo :创建一个会话,维护与 MongoDB 的套接字连接池,但是当我在文献记录函数的拨号信息我没有找到与我谈论池连接的内容,只有我在DialFunction Dial 功能说明:对于给定的集群,此方法通常仅调用一次。然后,在获得的会话上使用“新建”或“复制”方法建立与同一集群的更多会话。这将使它们共享底层集群,并适当地管理连接池。
- 有人可以告诉我 MGO 上的池连接如何工作吗?是否可以设置这个池?
- DialWithInfo 是否真的创建了一个池连接,或者只是创建此池的 Dial 函数?
提前致谢
展望Dial 函数调用的源代码,你可以看到Dial
函数调用DialWithTimeout
调用的函数DialWithInfo
功能。因此,要回答您关于功能之间差异的问题,似乎Dial
是一个方便的包装器DialWithTimeout
,这又是一个方便的包装器DialWithInfo
,因此它们会产生相同的连接池。
至于如何管理该连接池,您的问题已经解决了。
然后,在获得的会话上使用“新建”或“复制”方法建立与同一集群的更多会话。这将使它们共享底层集群,并适当地管理连接池。
所以一次调用Dial
or DialWithTimeout
or DialWithInfo
会建立连接池,如果需要多个会话,请使用session.New()
or session.Copy()
方法从您选择使用的任何 Dial 函数返回的会话中获取它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)