如何在Firebase函数中存储sql数据库连接池?

yhived7q  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(128)

在第一次调用Firebase函数时,我创建了一个mysql连接池(这是非常昂贵的),并将其存储在全局范围内。只要有一个示例为请求提供服务,这就可以正常工作。假设在负载下可以存在多个函数示例,那么如何避免创建大量这样的连接池呢?

s5a0g9ez

s5a0g9ez1#

云函数文档中有一个特定的部分:“使用全局变量在将来的调用中重用对象”。
无法保证云函数的状态会被保留以供将来调用。但是,云函数通常会回收以前调用的执行环境。如果您在全局范围内声明变量,则其值可以在以后的调用中重用,而不必重新计算。
通过这种方式,您可以缓存在每次调用函数时重新创建可能会耗费大量资源的对象。

acruukt9

acruukt92#

云功能可扩展到每个区域1,000个示例。
SQL连接可扩展到32,000多个。
实际上,您不会遇到数据库连接的上限。

相关问题