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

来自AWS Lambda的MongoDB连接

席成仁
2023-03-14

因此,我想知道什么是处理数据库连接问题的最佳方法?每次调用Lambda函数时,我都被迫建立新的连接,还是有办法将这些连接池起来/缓存起来,以便进行更高效的查询?

多谢了。

共有1个答案

龚志文
2023-03-14

AWS Lambda函数应该被定义为无状态函数,因此它们不能像连接池那样持有状态。

这个问题也在AWS论坛的这篇帖子中被提出。2015年10月5日,AWS工程师Sean发帖说,你不应该通过在处理程序块之外的代码初始化上创建一个池来打开和关闭每个请求的连接。但两天后,同一个工程师发帖说,你不应该这样做。

问题是您无法控制Lambda的运行时环境。我们确实知道这些环境(或容器)是被重用的,正如Tim Wagner的博客文章所描述的那样。但缺乏控制可能会使您耗尽所有资源,比如达到数据库中的连接限制。但这取决于你。

 类似资料:
  • 我正在尝试使用@Query注释从Spring Boot MongoRepository执行一个复杂的GeoQuery。以下是我的文档: 我需要我的查询执行以下任务: null

  • 我希望以代理无关的方式从Java SE应用程序创建JMS连接。 我用数据库连接的URL方案与JDBC进行比较。这将创建与实际实现无关的独立性。 对于JMS,我还没有找到类似的东西。我知道在Java EE中,JNDI将履行这个角色,但这是Java SE。 我不想将我的代码绑定到任何特定的队列代理,因为我的需求非常简单,即JMS 1.1文本消息的发送/接收。 我也看过Spring Boot,因为它通常

  • 我在从MongoDB数据库检索ObjectID时遇到了一个问题,但在通过json_encode运行时,“_id”值总是消失。数组中的所有其他数据都存在。我的代码如下: 结果如下: 至少,_id应该包含一个对象或数字。我的问题是什么在剥离\MongoDB\BSON\ObjectID,以及如何让它保留下来?

  • 假设有一个具有以下结构的基本SQL db: 客户ID 姓名 邮编 电子邮件 订单ID 客户ID 描述 项目ID 订单ID 名称 成本 所以一个客户可以有很多订单,一个订单可以有很多项目。 要运行什么最合适的LINQ查询来实现以下结果,其中订单项名称结果是逗号分隔的字符串: 客户名称|客户电子邮件|订单项目名称 因此,订单表实际上就像客户和订单项表之间的链接表。然后,我想将与所有订单关联的所有项目的

  • 大家好 我的nginx服务器有问题。我已将nginx配置为保持活动连接。 保持活力; 并连接到服务器与持久连接,我发送许多请求到服务器在同一连接。 我想从php关闭持久连接。php退出和死命令关闭响应,而不是连接。客户端可以在同一连接中重新发送到服务器请求。 简单地说,我想关闭从php的持久连接 我用这个命令, 标题(“连接:关闭”); 但未受影响,连接仍然存在 如何从php关闭http连接

  • 问题内容: 我刚刚开始使用BoneCP,这是我第一次使用连接池。对于应该如何使用它,我有些困惑。当前,我将BoneCP对象保存为静态变量,因此可以在不同的连接之间使用它。 连接完成后,用关闭。 我应该这样做,还是不应该关闭它以使其能够被池重用? 这是我当前获得连接的实现: 这似乎是正确的,还是我误解了我应该如何使用BoneCP? 问题答案: 除了使您的私有静态最终变量和将init更改为静态块(或者