2009-08-27 13 views
0

私は「人をペアに」しようとしているこのゲームを作っています。だから、私はこのデータベースを使って、ゲームに参加したい人を追加します。 2人がゲームに参加したいときは、ゲームにリダイレクトします。ajaxでデータベースから情報を取得して右になるまで

しかし私はajaxでこれを作っていました(私はこれが初めてです)。新しい人が参加した場合、データベースを継続的に調べます。私はこれを使用することは良い方法だろうと思った:

new Ajax.PeriodicalUpdater('products', '/some_url', 
    { 
    method: 'get', 
    insertion: Insertion.Top, 
    frequency: 1, 
    decay: 2 
    }); 

しかし、その後、彼はそれがすべて無駄に非常に多くの回でデータベースを開いたり閉じたいことを思い出しました。より良い解決策はありますか?

答えて

0

正解ですが、データベースを使用して負荷が増加します。負荷の大きさによっては、1秒以上かかって戻ることがあります。その場合、アプリケーションは自分自身を食べます。

もう1つの選択肢は、サーバ側のメモリに何かを保持することです。 PHPには「アプリケーションサーバー」の概念はないので、DBはmemcacheのようなものです。

また、トランザクション性について考える必要があります。 3人がゲームに参加するとどうなりますか?

+0

ありがとう、もちろん私はそれをメモリに保存する必要があります。このゲームはあまり一般公開されません(学校プロジェクトのためのものです)ので、3人の問題は一般的ではありません。 :D –

0

アプリケーションがアクティブなときにだけゲームに登録できる人は、この情報をデータベースに保存する理由は何ですか? URLからの情報の提供は、データベースから情報をロードする必要はありません。異なるタイプのリポジトリ(例えば、メモリ)であってもよい。

アプリケーションサーバーが1つしかない場合は、共有メモリオブジェクトにユーザーリストを格納するだけで問題ありません。使用する構成やセッション記憶域に応じて、アプリケーションファームには異なる規則が適用される可能性があります。

+0

はい、1つのアプリケーションサーバー。再度、感謝します! –

関連する問題