gpt4 book ai didi

php - MySQL 连接速度与 PHP 文件访问速度

转载 作者:可可西里 更新时间:2023-11-01 08:37:20 26 4
gpt4 key购买 nike

假设我有一个带有 LAMP 的简单 VPS 设置(因此在同一台服务器上使用 PHP 和 MySQL,并且没有附加其他字符串)。并假设我想在我的网站上制作一个自写的 ajax 聊天客户端。

显然,对话中的每个参与者都必须不断地倾听新的内容。由于很可能两个或更多参与者在同一秒内说了些什么(并且每秒刷新一次以上可能会导致疯狂的系统负载),在我看来我需要为每个参与者存储一个列表自上次刷新以来发生的事情。

哪种方法是“最佳”方式(就系统负载而言)?在下文中,“事件”只是“任何参与者在聊天中说的任何话”。显然,这也可以用于更一般的情况。

(A) 使用 MySQL,每秒连接到数据库并请求事件 WHERE participant_id = $participant_id? (然后删除所有这些,以便只获取一次)

(B) 创建一个文件 $participant_id.php 并将事件附加到它(以 PHP 格式以便可以包含它,然后在下次刷新时清空或删除该文件?

(C) 有没有人知道任何其他有用的替代品?

最佳答案

另一种方法是使用套接字连接。连接到套接字服务器守护进程的每个人都可以向守护进程发送消息,然后守护进程会将消息发送给所有或部分订阅者列表,这使得聊天即时进行,根本不需要保存数据。

从客户端创建套接字连接的一个好方法是套接字 IO。见下文。

http://socket.io/

用于创建套接字服务器守护进程的一项很好的技术是 node.js。这是一个服务器端事件驱动的基于 javascript 的库。对于这样的事情非常有效。见下文。

http://nodejs.org/

关于php - MySQL 连接速度与 PHP 文件访问速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8606019/

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