我一直在理论上学习,创建新的数据库连接是一项昂贵的操作。因此,我们应该保持开放的连接池,并将其用于数据库操作。
考虑到 AWS Lambda。假设 Lambda 函数想要操作数据库,那么我们需要创建一个与数据库的连接。操作完成后,需要关闭数据库。如果同时有数百个 Lambda 函数正在执行,则会进行数百次数据库连接的打开/关闭操作。这在理论上是一种不好的模式。
如果是这样,那么在涉及数据库操作时使用 AWS Lambda 是否不合适?
我一直在理论上学习,创建新的数据库连接是一项昂贵的操作。因此,我们应该保持开放的连接池,并将其用于数据库操作。
考虑到 AWS Lambda。假设 Lambda 函数想要操作数据库,那么我们需要创建一个与数据库的连接。操作完成后,需要关闭数据库。如果同时有数百个 Lambda 函数正在执行,则会进行数百次数据库连接的打开/关闭操作。这在理论上是一种不好的模式。
如果是这样,那么在涉及数据库操作时使用 AWS Lambda 是否不合适?
variable = 10
def lambda_function(event, context):
global variable
print(variable)
variable += 1
Lambda
函数每秒被调用一次,它将会像下面这样打印输出。10
11
12
13
14
.
.
.
详细信息,请参考此链接
连接池在无服务器环境下正常工作。
const mysql = require('mysql');
const pool = mysql.createPool({
host: {Your Host},
user: {Your Username},
password: {Your Password},
database: {Your Database},
port: 3306
});
exports.main = function main (req) {
let query = ""
return new Promise(function(resolve, reject){
return resolve({
statusCode: 200,
body: "Success"
});
})
}