2011-02-07 9 views
1

私は管理者がオンラインユーザを検出する必要があるusers-adminチャットシステム(ログインユーザ)を作成しています。私はこの種のシステムに関する経験がなく、あなたの助言が必要です。PHP/MySQL/jQuery(admin-users)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) 

私はjQueryを使って非同期要求をしているか、サーバ側でメッセージとするたびに送信しています7秒ごとに、私は次の操作を行います。

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; 

私は疑問に思っています。すべてのリクエストに対してこの操作を実行すると、パフォーマンスが大幅に向上しますか?もしそうなら、別のオプションを提案できますか?

+4

に役立ちます。あなたがあなたの古い質問に戻るまで、私はここであなたを助けません。申し訳ありませんが、無料の昼食はなく、人々は過去にあなたを助けるのに多くの時間を費やしています。これは、このコミュニティの有用なメンバーになるために実行する必要がある礼儀の問題です。 – treeface

答えて

1

これは、チャットルームをどのようにアクティブにしているかによって大きく影響されるものではありませんが、チャットルームをキャッシュすることを検討する価値があります。

たとえば、データベースから受け取ったデータをキャッシュすることができます。ユーザーがログインするか、新しいメッセージを投稿するたびにキャッシュが期限切れになる可能性があります。

また、さまざまなキャッシュ方法があります。 2つの例は、ファイルベースのキャッシュまたはmemcachedの使用です。

希望これは ダニエル

あなたは(他の質問に前にあなたに説明したように)ご質問への回答を受け入れる必要が
関連する問題