我在应用程序中使用SvelteKit、Vite.js和带有Node.js的mariadb
包.我在db.js
文件中有以下代码:
import mariadb from 'mariadb';
const databaseConnectionPoolConfig = {
...
};
let databaseConnectionPool = undefined;
export function createDatabaseConnectionPool() {
return databaseConnectionPool ??= mariadb.createPool(databaseConnectionPoolConfig);
}
在hooks.server.js
文件中,我有以下代码:
import { createDatabaseConnectionPool } from '$lib/db';
createDatabaseConnectionPool();
执行热重新加载时,databaseConnectionPool
将重置为未定义,但池中的连接不会关闭,并会创建新的连接.我通过运行以下查询判断了这一点:
SHOW STATUS LIKE 'Threads_connected';
每次执行热重新加载databaseConnectionPoolConfig.connectionLimit
属性指定的连接数时,它都会增加.
我如何才能防止这种情况发生?