相关疑难解决方法(0)

如何正确关闭lambda函数中的数据库连接?

在我的lambda函数中,我试图在发送回调时立即关闭mongo连接.但它有一个问题.

  • 当我发送请求时,该函数执行其职责,发送回调并关闭数据库连接.
  • 发送第二个请求时,该功能超时.
  • 当我删除的db.close()东西工作完美.

我认为lambda重用了所有函数的连接,因为我在处理程序的顶部打开了连接:

// Connect to database
mongoose.connect(process.env.DATABASE_URL);


const handleCreateUser = async (event, context, callback) => {
  // eslint-disable-next-line no-param-reassign
  context.callbackWaitsForEmptyEventLoop = false;

  const data = JSON.parse(event.body);
  const { user, userProfile } = data;

  await createUser({ callback, user, userProfile });
};
Run Code Online (Sandbox Code Playgroud)

知道怎么解决这个问题吗?我们真的必须在此时关闭连接吗?

lambda aws-lambda serverless-framework

9
推荐指数
1
解决办法
3136
查看次数

是否插入新数据库条目比检查条目是否存在更快?

我曾经被告知,运行插入并让插入失败比检查数据库条目是否存在然后插入(如果它丢失)更快.

我还被告知,大多数数据库都经过大量优化,无法读取阅读而不是写入,因此快速检查不会比慢速插入快吗?

这是预期碰撞次数的问题吗?(IE只有在条目已经存在的可能性很小的情况下插入才会更快.)它是否依赖于我正在运行的数据库类型?就此而言,有一种方法会不断向我的错误日志中添加插入错误,这是不好的做法吗?

谢谢.

mysql sql sql-server oracle database-optimization

7
推荐指数
1
解决办法
972
查看次数