mongodb 连接池配置

这篇具有很好参考价值的文章主要介绍了mongodb 连接池配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考官方描述:

mongodb连接池,mongodb,数据库,mysql

如果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这个时间的设置,多次测试证实了:超过设置的指定时间后所有线程池的空闲线程连接会被自动关闭,关闭后所有线程池空闲线程会重新连接

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

 更多参数选项参考地址

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

mongodb连接池,mongodb,数据库,mysql文章来源地址https://www.toymoban.com/news/detail-587617.html

到了这里,关于mongodb 连接池配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [虚幻引擎 MongoDB Client 插件说明] DTMongoDB MongoDB数据库连接插件,UE蓝图可以操作MongoDB数据库增删改查。

    本插件可以在UE里面使用蓝图操作MongoDB数据库, 对数据库进行查询,删除,插入,替换,更新操作。 插件下载地址在文章最后。 Create MongoDB Client - 创建客户端对象 创建一个 MongoDB 客户端对象。 Connect By Url - 连接到数据库 Url :MongoDB的连接地址。 如 mongoDB://account:password@ip:

    2024年02月14日
    浏览(96)
  • 在外Windows公网远程连接MongoDB数据库

    转载自远程内网穿透的文章:公网远程连接MongoDB数据库【内网穿透】 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富

    2024年02月04日
    浏览(64)
  • mysql数据库使用useSSL=true,并配置ca证书和密钥连接

    参考:Mysql5.7开启SSL并且支持Springboot客户端验证 https://blog.csdn.net/weixin_42911645/article/details/127070812 前提:已安装好数据库,这里以mysql5.7为例 确认数据库目录位置,可以输入以下指令查看: 数据库安装好后,在数据库目录下存在默认生成好的证书文件: ca.pem 、 ca-key.pem 、

    2023年04月08日
    浏览(33)
  • NoSql数据库及使用Python连接MongoDB

    NoSQL 数据库是非关系数据库,不使用结构化查询语言 (SQL) 进行数据操作。相反,他们使用其他数据模型进行访问和数据存储。SQL 数据库通常用于处理结构化数据,但它们可能不是处理非结构化或半结构化数据的最佳选择。 NoSQL 数据库提供了快速高效地存储和检索大量数据的

    2024年02月09日
    浏览(110)
  • 关于Android Studio连接mysql数据库的过程和注册功能的实现(数据的插入)以及mysql环境变量的配置

    1.安装mysql数据库,安装的教程哔站有很多,版本尽量用mysql5.7的版本,用mysql8.0的版本与android studio进行连接的话可能会出现问题。 2.安装完成之后,给本机配置环境变量,步骤:如下图示 (1)通过搜索打开环境变量。 (2).点击环境变量。 (3).找到系统变量点击新建。

    2024年04月14日
    浏览(66)
  • Windows公网远程连接MongoDB数据库【无公网IP】

    MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格

    2024年02月08日
    浏览(56)
  • 【无公网IP】在外Windows远程连接MongoDB数据库

    MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格

    2024年02月12日
    浏览(61)
  • 在外Windows远程连接MongoDB数据库【无公网IP】

    转载自远程内网穿透的文章:公网远程连接MongoDB数据库【内网穿透】 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富

    2023年04月22日
    浏览(59)
  • Linux安装MongoDB数据库,并内网穿透远程连接

    转载自Cpolar Lisa文章:Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网穿透」 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂

    2024年02月06日
    浏览(48)
  • 在Node.js中使用MongoDB连接数据库、创建集合

    本文主要介绍在Node.js中使用MongoDB连接数据库、创建集合的方法。 在Node.js中使用MongoDB连接数据库有两种方式:使用原生驱动程序和使用Mongoose。 首先,需要安装 mongodb 模块。可以通过以下命令来安装: 安装完成后,可以在代码中引入模块: 接着,可以使用 MongoClient 来连接

    2024年02月04日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包