PHP / MySQL / jQuery(管理员用户)聊天

时间:2011-02-07 20:32:31

标签: php javascript jquery mysql chat

我正在编写用户 - 管理员聊天系统(已登录用户),管理员必须在其中检测在线用户。我对这种系统没有任何经验,我需要你的建议。

我创建了以下表格:

users (user_id, last_active, login, password)
chat (chat_id, user_id, read, dir, msg, posted_on)
history (history_id, user_id, dir, msg, posted_on)

我每7秒钟用jQuery做一次异步请求或发送消息,每次在服务器端我都会做以下操作:

if(isset($_POST['msg_send'])){

//check admin(user) online statuse:if admin(user) online insert msg to chat and history.

if admin(user) isn't online, echo "admin not online"
   return;
}

//get message from chat ;
//update chat_table;

我想知道:如果我为每个请求执行此操作,它会在性能方面受到重创吗?如果是这样,你能建议另一种选择吗?

1 个答案:

答案 0 :(得分:1)

虽然这可能不应该是一个巨大的性能影响,取决于聊天室的活跃程度,值得考虑缓存聊天室。

例如,您可以缓存从数据库接收的任何数据,并且只要用户登录或发布新邮件,就可能导致这些缓存过期。

还有许多缓存方式。两个例子是基于文件的缓存或使用memcached。

希望这会有所帮助 丹尼尔