我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mongodb 连接池配置

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mongodb 连接池配置

参考官方描述:

如果spring使用以下mongodb的配置,则默认是没有连接池的

spring:  data:    mongodb:      host: 地址      port: 27017      database: 数据库名      username: 账号      password: 密码

 每隔一两分钟没有去请求的话就会断开连接重连,每次都要等待5-10秒之间才重新连接上,请求速度很慢,这一点确实非常不友好。出现这种问题就是maxIdleTimeMS时间太长,缩短每次连接删除和关闭之前保持的空闲状态等待时间就可以避免这个问题,但也会造成连接池的频繁连接和关闭。每次打开和关闭控制台打印如下提示:

Closed connection [connectionId{localValue:11, serverValue:1607}] to xxx.cc:27017 because there was a socket exception raised by this connection.Opened connection [connectionId{localValue:21, serverValue:1623}] to xxx.cc:27017

maxIdleTimeMS我设置时间为30秒,不知道为什么我设置为120秒、60秒好像都不管用。


 

mongodb的配置就尽量不要用上面的方式来配,需要使用uri的方式来去配,不需要在java代码中去写配置类,不需要在java代码中去写配置类,不需要在java代码中去写配置类

spring:  data:    mongodb:      uri: mongodb://数据库账号:数据库密码@数据库地址:27017/数据库名称?connectTimeoutMS=5000&socketTimeoutMS=3000&maxPoolSize=30000&minPoolSize=0&maxIdleTimeMS=1000&readPreference=primary&retryWrites=true

uri的前半部分:注意符号格式是固定 

 mongodb://数据库账号:数据库密码@数据库地址:27017/数据库名称

 uri的后半部分是一些额外配置选项,使用 " ? "这个问号进行标识分割,每一个配置选项之间使用" & "符号来衔接。

?connectTimeoutMS=5000

&socketTimeoutMS=3000

&maxPoolSize=30000

&minPoolSize=0

&maxIdleTimeMS=1000

&readPreference=primary

&retryWrites=true

 connectTimeoutMS
在超时之前尝试连接的时间(以毫秒为单位)。默认值为 10,000 毫秒,但特定驱动程序可能具有不同的默认值
socketTimeoutMS
在尝试超时之前尝试在套接字上发送或接收的时间(以毫秒为单位)。默认值为永不超时,尽管不同的驱动程序可能会有所不同
maxPoolSize连接池中的最大连接数。默认值为 。100
minPoolSize

连接池中的最小连接数。默认值为 。0

maxIdleTimeMS

连接在删除和关闭之前可以在池中保持空闲状态的最大毫秒数。

并非所有驱动程序都支持此选项。

readPreference指定此连接的读取首选项。
retryWrites启用可重试写入。

需要特别注意maxIdleTimeMS这个时间的设置,多次测试证实了:超过设置的指定时间后所有线程池的空闲线程连接会被自动关闭,关闭后所有线程池空闲线程会重新连接

参数配置,根据你们需求来 ,我只是给出个示例

 更多参数选项参考地址

测试连接断开后,控制台日志如下:已经开启指定数量的线程池无误

来源地址:https://blog.csdn.net/qq_46149597/article/details/129964179

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mongodb 连接池配置

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mongodb连接池怎么配置

在MongoDB中,可以使用连接池来提高数据库的性能和效率。连接池可以管理和复用数据库连接,避免每次操作数据库都需要建立和关闭连接的开销。以下是配置MongoDB连接池的步骤:安装MongoDB驱动程序(如pymongo)。创建一个连接池
2023-10-26

详解SpringBoot配置连接池

内置的连接池目前spring Boot中默认支持的连接池有dbcp,dbcp2, tomcat, hikari三种连接池。 数据库连接可以使用DataSource池进行自动配置。 由于Tomcat数据源连接池的性能和并发,在tomcat可
2023-05-31

Hibernate proxool连接池怎么配置

本篇内容介绍了“Hibernate proxool连接池怎么配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Hibernate proxo
2023-06-17

spring boot2.0怎么配置连接池

本篇内容介绍了“spring boot2.0怎么配置连接池”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!springboot2.0之后,自带
2023-06-22

php redis连接池怎么配置

PHPRedis连接池配置指南本文介绍了使用Redis连接池优化应用程序与Redis服务器交互的方法。指南包括:安装Redis客户端库创建连接池配置连接池选项使用连接池最佳实践通过遵循这些步骤,您可以高效配置Redis连接池,从而提高应用程序性能和可靠性。
php redis连接池怎么配置
2024-04-12

如何为 Golang 数据库连接配置连接池?

如何为 go 数据库连接配置连接池?使用 database/sql 包中的 db 类型创建数据库连接;设置 maxopenconns 以控制最大并发连接数;设置 maxidleconns 以设定最大空闲连接数;设置 connmaxlifet
如何为 Golang 数据库连接配置连接池?
2024-05-14

weblogic连接池大小如何配置

WebLogic连接池的大小可以通过以下步骤进行配置:1. 登录到WebLogic控制台。2. 在导航栏中选择“域”>“环境”>“服务器”。3. 在“服务器”页面上,选择您想要配置连接池的服务器。4. 在服务器的概要页面上,选择“连接池”选
2023-09-01

Java 中连接池配置的技巧有哪些?(java con的连接池配置有何技巧)

在Java开发中,连接池的配置是一个非常重要的环节,它可以提高数据库连接的复用性和性能。下面将详细介绍Java连接池配置的技巧。一、连接池的选择目前,Java中常用的连接池有DBCP、C3P0和Druid等。D
Java 中连接池配置的技巧有哪些?(java con的连接池配置有何技巧)
Java2024-12-17

c3p0数据库连接池配置总结

C3P0是一个开源的数据库连接池,可以用于在Java应用程序中管理数据库连接。下面是C3P0数据库连接池的配置总结:1. 配置数据源:```javaComboPooledDataSource dataSource = new ComboPo
2023-10-12

sqlite数据库连接池怎么配置

在SQLite中,由于它是一个嵌入式数据库,通常不需要使用连接池来管理数据库连接。每个数据库连接都是一个文件,可以直接在应用程序中打开和关闭。如果你想要实现一个类似连接池的功能,可以在应用程序中手动管理连接的打开和关闭,以避免频繁地打开和
sqlite数据库连接池怎么配置
2024-04-09

MongoDB中连接池、索引、事务

这篇文章主要介绍了MongoDB中连接池、索引、事务的相关资料,需要的朋友可以参考下
2023-01-11

ORM框架中MySQL连接池的配置

ORM(Object-Relational Mapping)框架是一种将对象模型与关系型数据库之间进行映射的技术,它允许开发者以面向对象的方式操作数据库。在ORM框架中,连接池是一种常见的配置,用于管理数据库连接,提高系统性能和资源利用率。
ORM框架中MySQL连接池的配置
2024-10-05

编程热搜

目录