当前位置: 首页 > 知识库问答 >
问题:

mongo java驱动中getConnectionsPerHost()和getMaxSize()方法有什么区别

慕宜民
2023-03-14

我很难理解这两种方法之间的区别

public int getConnectionsPerHost()此MongoClient实例每个主机允许的最大连接数。空闲时,这些连接将保留在池中。一旦池耗尽,任何需要连接的操作都将阻止等待可用连接。

默认值为100。

返回:每个主机连接池的最大大小

http://api.mongodb.com/java/current/com/mongodb/MongoClientOptions.html#getConnectionsPerHost--

public int getMaxSize()允许的最大连接数。空闲时,这些连接将保留在池中。一旦池耗尽,任何需要连接的操作都将阻止等待可用连接。

默认为100。http://api.mongodb.com/java/current/com/mongodb/connection/ConnectionPoolSettings.html#getMaxSize--

还请详细说明如果getConnectionsPerHost()等于10并且getMaxSize()等于10,那么这意味着什么以及我们如何确保连接池是一个?上面的任何方法是否描述了它

共有1个答案

艾照
2023-03-14

getConnectionsPerHost()-表示与MongoClient相关的连接。

getMaxSize()-这表示mongodb服务器的连接池大小。

一般来说,getConnectionsPerHost()可以小于或等于getMaxSize()。

具有内部连接池的MongoDB客户端(MongoClient)。对于大多数应用程序,整个JVM都应该有一个MongoClient实例。http://api.mongodb.com/java/2.10.0/com/mongodb/MongoClient.html

MongoClient连接池连接池是由驱动程序维护的数据库连接缓存,以便在需要与数据库建立新连接时可以重用连接。为了减少应用程序创建的连接池数量,建议调用MongoClient.connect一次,并重用数据库变量进行进一步的数据库操作。https://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html

我们如何确保连接池是一个连接池?上述任何一种方法是否描述了它?

上述方法getConnectionsPerHost()或getMaxSize()都不是单个连接池。

但是对于数据库集群只有一个MongoClient并在应用程序之间使用它是一种很好的做法,因为MongoClient类被设计为线程安全并在线程之间共享。

创建多个MongoClient实例时,请记住每个MongoClient实例都适用所有资源使用限制(最大连接等),并且要处置实例,请确保调用MongoClient.close()来清理资源

 类似资料:
  • 问题内容: MySQL JDBC驱动程序将这两个属性定义为: useServerPrepStmts-如果服务器支持的话,使用服务器端准备好的语句? cachePrepStmts- 驱动程序是否应该缓存客户端准备好的语句的PreparedStatements的解析阶段,是否适合服务器端准备好的语句和服务器端准备好的语句本身的“检查”? 客户端准备好的语句是否可以重用对象? 如果启用,则由于MySQL

  • 问题内容: 有人可以在OOP上下文中提供方法与功能的简单说明吗? 问题答案: 甲函数是一段代码由名字叫做。可以传递数据以对其进行操作(即参数),还可以选择返回数据(返回值)。传递给函数的所有数据都被显式传递。 甲方法是一段代码,由与对象相关联的名称叫。在大多数方面,它与功能相同,但有两个主要区别: 方法被隐式传递给调用该方法的对象。 方法能够对类中包含的数据进行操作(记住,对象是类的实例-类是定义

  • 问题内容: 类方法和实例方法有什么区别? 实例方法是访问器(getter和setter)而类方法是其他所有东西吗? 问题答案: 就像大多数其他答案所说的那样,实例方法使用类的实例,而类方法只能与类名一起使用。因此在Objective-C中对它们进行了定义: 然后可以像这样使用它们: 一些真实世界的类方法的例子是很多基础类,如方便的方法的或的。实例方法将是的方法。

  • 本文向大家介绍JavaScript中的instanceof()和Array.isArray()方法有什么区别?,包括了JavaScript中的instanceof()和Array.isArray()方法有什么区别?的使用技巧和注意事项,需要的朋友参考一下 Array.isArray()方法是通用的,它可以在任何地方运行,而instanceof运算符不是通用的,它不能在新环境中工作。 语法1 语法2

  • 问题内容: 之前我曾假设: 平台驱动程序适用于片上设备。 普通设备驱动程序用于与处理器芯片接口的设备。 在遇到一个i2c驱动程序之前…但是在这里,我正在阅读定义为平台驱动程序的多功能i2c驱动程序。我经历了https://www.kernel.org/doc/Documentation/driver- model/platform.txt 。但是对于如何定义驱动程序(如片上和接口设备),仍然没有一

  • 在Java 8中,和方法有什么区别?