1

ユーザーがログインしているかどうかを確認するためにmysqlを使用していましたが、ホスティング会社からmysqlクエリの制限を超えており、mysqlクエリの制限を1時間あたり150000にアップグレードするコストは$240/年であるというメールを受け取りました。 。

ここで、ユーザーのタイムスタンプをファイルに書き込むなど、ユーザーがログインしているかどうかを確認する別の方法が必要ですが、それを行うための最良の方法がわかりません...そしてどのタグかさえわかりません私はこの投稿をしました...

それで、この問題で私を助けてくれませんか?

4

3 に答える 3

5

を使用し$_SESSIONます。1000倍効率的で、この目的のために設計されています。ここでそれについて読んでください

于 2012-10-26T17:09:00.767 に答える
1

ルートサーバーにアップグレードする(またはコストの観点からダウングレードする)か、より優れたメカニズムを使用してセッションを保存します。つまり、memcache、couchdb、またはmongodbです。

いずれの場合も、PHPのセッションハンドラーを終了する場合は、セマフォを手動で処理する必要があります。

于 2012-10-26T17:10:52.647 に答える
0

ホストにmysqlクエリの制限があるのはかなり奇妙ですが、質問に戻ります。

ユーザーがローカルにログインしているかどうかを確認しようとしているだけでなく、別のアカウントにユーザーがログインしていることを確認してもらうと、$ _ SESSION(維持されます)ではなく、データベース呼び出しが必要になると推測します。ユーザーごとに)。

ただし、これをデータベースの外部で実行することを想定している場合は、ユーザーがログインまたはログアウトしたときに最終的なHTML結果を生成できます。ユーザーのステータスを含むテーブルをデータベースに保持しますが、ユーザーがログインまたはログアウトするたびに、そのテーブルに対して1つのクエリを実行し、たとえば、ログインしたユーザーのHTMLリストを生成します。出力をファイルに保存し、ページをレンダリングする必要がある場合は、データベース呼び出しを行う代わりにそのファイルを含めます。

MySQLデータベースを完全に削除するわけではありませんが、かなり信頼性が高く、データベースクエリの数を大幅に減らすことができます。

于 2012-10-26T17:15:45.360 に答える