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

标签 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;

我想知道:如果我对每个请求都执行此操作,它会在性能方面产生重大影响吗?如果是这样,你能建议另一种选择吗?

最佳答案

尽管根据聊天室的活跃程度,这可能不会对性能造成巨大影响,但值得考虑缓存聊天室。

例如,您可以缓存从数据库接收的任何数据,并且您可以使这些缓存在用户登录或发布新消息时过期。

缓存的方式也有很多种。两个示例是基于文件的缓存或使用 memcached。

希望对你有帮助 丹尼尔

关于PHP/MySQL/jQuery(管理员用户)聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4926216/

相关文章:

php - 创建新模型后调用未定义的方法(Laravel 4.2)

javascript - 访问 JSON 对象时出现问题?

jquery - 将类从 Mootools 转换为 jQuery 或经典 javascript

javascript - 在 CSS 中设置选取框

PHP - 如何使用逗号分解字符串,除了当逗号在撇号内时的情况?

php - Stream_context_set_params 不适用于 ssh2.sftp 包装器

javascript - knockout 计算 - 写入新值

javascript - CKEditor - 在一个页面中限制多个编辑器的字符

jquery - Django LoginRequired mixin 总是拒绝访问

javascript - 简单的 AJax 调用不起作用 - 加载其他页面