gpt4 book ai didi

php - 如何使 javascript/php 聊天室在加载时间和 SQL 通信方面更加高效

转载 作者:行者123 更新时间:2023-11-29 09:18:18 25 4
gpt4 key购买 nike

现在我的 JavaScript 聊天设置可以正常工作,就像

function getNewMessage()
{
//code would go here to get new messages
getNewMessages();
}
getNewMessages();

在函数中,我将使用 JQuery 进行 get post 以从 php scrip 检索消息,这将1. 启动SQL连接2.通过SQL验证是否是合法用户3.仅检索自上次用户访问以来的新消息4.关闭SQL

这很好用,聊天也很完美。我担心的是这会打开和关闭大量 SQL 连接。它非常快,但我现在想做一个小型的 javascript 多人游戏,每秒 3 次传输用户坐标以及数十个其他变量,每次打开和关闭 sql 连接并提取信息每次从多个表中处理可能不够高效而无法顺利运行,并且可能对服务器造成太大压力。

有没有更好更有效的方式来传达我应该知道的所有这些变量,这对我的服务器/数据库来说并不那么困难?

最佳答案

不要使用持久连接,除非它是您唯一可用的解决方案!

当MySQL检测到连接已被删除时,所有临时表都会被删除,所有事件事务都会被回滚,并且所有锁定的表都会被解锁。持久连接仅在 Apache 子进程退出时断开,而不是在脚本结束时断开,即使脚本崩溃!您可以在事务中间继承连接。更糟糕的是,其他请求可能会阻塞,等待这些表解锁,这可能需要相当长的时间。

除非您测量了连接所需的时间并确定它占脚本运行时间的很大比例,否则您不应考虑使用持久连接。事实上,如果您担心性能,那么您应该在这里执行此操作。查看xhprofxdebug ,分析您的代码,然后开始优化。

关于php - 如何使 javascript/php 聊天室在加载时间和 SQL 通信方面更加高效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3295481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com