2016-06-20 7 views
-1

私の質問は非常に単純で、私はただの要件を満たすための最良の方法を見つけることを試みています。php-mysqlのライブユーザ登録回数

私は、ユーザーが登録されるとすぐに番号が増加しているライブユーザー登録カウントを複数の場所で見てきました。私はまた、PHPでその種のページを作成したい。

phpmysqliを使用しています。 私は使用することを知っています

Select Count(*)From Users 

データベースから数を得るには、

データベースを照会する効率的な方法は何ですか。ページはクエリを実行し続けるので、データがデータベース内でも同じであっても常にデータベースにクエリを出す最良の方法だとは思いません。

+0

私の意見では、効率について心配しているなら、これがまったく必要なのか、特に生きているのかと尋ねています。どのような価値が追加されますか? –

+0

downvoteみんなありがとう。質問が悪いと思うなら、私に知らせてください。あなたがしない場合は、投票しないでください。 – Ironic

+0

@JonStirlingそれは重要ですか?どのような価値が追加されますか?あなたが同じ状況を思いついたら何をすることができますか? – Ironic

答えて

1

私はあなたが定期的に新しい登録回数を確認するためにサーバーコールを行っていると想定しています。最初のイベントがどこか他の場所からトリガーされた場合にサーバーをチェックするのはなぜですか?その場合にのみ、新しいデータを通知する必要があります。

これを実現する最良の方法は、アプリケーションにウェブソケットを実装することです。この方法では、サイトの誰かが詳細をDBに保存した後に新しいアカウントを登録すると、サイトに新しい登録数がブロードキャストされ、ほぼリアルタイムで更新されます。

ソケットの詳細については、http://socketo.me/を参照してください。

+0

あなたの答えをありがとう。私はソケットについてもっと学びます。 – Ironic

1

ユーザー数をファイルに保存し、そのファイルをhtmlページに含めるだけです。そうすれば、新しいユーザーが登録するたびにファイルを更新するだけで済みます。

+0

良いアイデア。私は言うことができます。私はもっ​​と掘るでしょう。投票した。 – Ironic

+0

これに気をつけて、ディスクIOはディスクとヒットに応じて問題を引き起こす可能性があります。 –

+0

はい、極端な場合にはディスクI/Oが問題になるかもしれませんが、1つの数値を含む小さなファイルを取得することが問題になる前に、他にも多くの問題が発生します。ファイルへの書き込み時にアクセスからファイルをブロックする必要があることを覚えておいてください。この時間はできるだけ短くしてください。データベースから番号を取得し、ファイルを開き、番号を書き込んで、閉じる。 –

1

REDISなどのメモリ内データベースを使用して、このような情報を格納できます。それへのアクセスはかなり速く、リソースを浪費することはありません。

+0

あなたの答えをありがとう。私はレディスを見ていきます。投票した。 – Ironic

0

誰かがサインアップを完了したときに、あなたのPHPページを実行する関数をクエリに追加することをお勧めします。

関連する問題