php - 使用 jQuery 和 PHP 减少 MySQL 查询量

标签 php jquery mysql lag

我正在使用 jQuery 和 PHP 构建一个“多人游戏世界”。这是它的工作原理:

  1. 用户角色的位置取自数据库,相应地绘制用户(位置值是 CSS 值 - 左和上)

  2. 用户可以使用键盘上的箭头键四处移动,使用 jQuery 动画让他们的角色移动。当发生这种情况时(每次按下箭头),用户的位置值将被插入到数据库中并进行更新。

  3. 为了像您所说的那样实现“全局”(因此用户可以看到彼此),需要使用 AJAX 为每个用户同时更新所有值

我遇到的问题是我需要不断调用我编写的 JavaScript 函数,该函数连接到 MySQL 服务器并从数据库表中获取值。并且需要通过 setInterval(thisFunction, 1000); 不断调用此函数,但是我的主机只是因为服务器资源过载而暂停了我,我认为这是因为我所有的 MySQL 查询。即使在反复从我的数据库中获取值之后,我也必须每隔几秒插入一次值,所以我可以想象如果有足够多的客户端登录,这会随着时间的推移导致崩溃。如何减少我使用的查询数量?还有另一种方法可以做我需要做的事情吗?谢谢。

最佳答案

在资源使用方面,这与聊天系统本质上是一样的。尝试搜索一下,您会发现许多不同的解决方案,包括 long pollingmemcached 等概念。例如,检查此线程:Scaling a chat app - short polling vs. long polling (AJAX, PHP)

关于php - 使用 jQuery 和 PHP 减少 MySQL 查询量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5806912/

相关文章:

PHP memcached 对包含特殊字符的值发出警告 'could not compress value'

php - MySQL,使用预准备语句插入时 DEFAULT 不起作用

javascript - 未为我的简单按钮show-div javascript定义的功能

php - 如何编辑我的 json 以不包含行号

mysql - Gearman 和 MySQL 与 Homebrew 编译错误

php - 使用 Laravel 5.6 加载用户设置

javascript - 使用Javascript(Ajax)将大量小请求传递给PHP(登录mysql)

javascript - 返回页面加载?

php - 只需单击它们即可更新表格行

PHP/MySQL游戏服务器