我正在尝试构建一些仪表板应用程序,允许用户连接到他们的数据库并运行查询。然后,结果集将被输入到图表中以进行渲染。我想了解一些事情:
您可以猜到,每个用户可能配置了不同的数据库源,我将存储在我的数据库中。让我们说100个用户登录我的应用程序并尝试构建仪表板。现在我最终会同时打开100个连接(对于每个用户,根据他们的数据库连接细节),我猜这真的很糟糕。
同时,我无法创建数据库连接池(当我的应用程序为每个用户的数据库源启动时),因为我不确定哪个用户将选择他们的数据库配置来构建仪表板。我可能最终会创建可能根本不使用的池!
我们如何处理相同的事情?
答案 0 :(得分:1)
听起来你确实想要至少缓存每个数据源的连接,并在它们空闲/未使用足够长时间时“关闭”它们。
除非你的内存或文件描述符不足,否则打开100个连接本身并不是一个大问题。