首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >持久的mysql连接,不管谁的用户连接?

问持久的mysql连接,不管谁的用户连接?
EN

Stack Overflow用户
提问于 2015-05-05 14:41:17
回答 1查看 162关注 0票数 0

,我想有一个单一的mysql连接使用的每一个用户始终选择的数据,并更新它,如果特定的条件得到满足(如一个被放置的出价)。最好是在没有用户访问网站的情况下,如果有可能的话?

所以,在过去的几天里,我一直在谷歌,努力想办法解决我的问题,但似乎没有足够的知识来帮助我解决问题。因此,我尽量简单地问我的问题,而不把您与我的代码混淆。(但如果您有兴趣看到代码:http://pastebin.com/dRFzWtEH)

然而,这是一个带有实时倒计时的拍卖网站,我只想运行一个node.js服务器,该服务器每秒钟运行一次SELECT的数据,并将其发送到WebSocket,以便向所有访问该网站的用户实时显示倒计时和价格更新(在出价上)。

我通过使用单mysql查询完成了整个任务,但随后我遇到了错误。然后,GitHub节点- MySQL -模块的作者建议我使用MySQL池。但是,对于我在这个问题的第一句中所述的具体目标,根本找不到任何内容。

现在我想问的是,一般情况下,我如何才能做到这一点,这是否可能,或者至少有一个用户必须在我的网站上?

代码/代码结构/逻辑过程是什么样子的?

我想我根本不需要关闭连接,所以我不需要像connection.end()这样的函数。

EN

回答 1

Stack Overflow用户

发布于 2015-05-06 00:07:05

不,不要担心连接池。这在MySQL并不是什么大问题。

此外,“池”有一个问题--在允许下一个‘客户’使用池连接之前,它必须清除所有设置、@变量、事务状态等。这可能需要时间,特别是当客户端远离服务器时。

MySQL的连接/断开时间非常短,不像竞争产品。

如果您正在开发Web产品,那么请记住HTTP是“无状态的”。也就是说,您不能将连接从一个“页”保存到下一个“页”,因此无法保存“状态”。

编辑

如果您有“跨池”延迟问题(美国和欧洲之间的100到200 US ),客户端连接池可能非常有用。然而,如果池软件正在注入重新设置东西的命令,这可能会完全击败池。

如果您可以打开“常规日志”(在托管服务中,您可能必须使用log_output=TABLE),请这样做,以查看注入了哪些额外的命令。

此外,考虑将多个客户端SQL语句组合到存储过程中,以减少前后的开销.

还可以考虑将MySQL服务器移动到离客户端更近的地方,或者将客户机移动到更接近MySQL服务器的位置,这取决于终端用户与客户端之间的通信量是如何来回比较的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30056089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档