0

トラフィックの多い時間帯に多くの選択カウントを必要とするアプリケーションを実行していますが、それを制限したいと考えています.DBにアクセスせずに一時変数で選択クエリの結果を取得し、それを更新する手法があると確信しています. x秒ごとに値を設定すると、全体のロード時間が確実に短縮されます。

関数呼び出しは次のとおりです。 return $this->getOnlineNow($user_code); この行は、訪問者がアプリケーション ウィジェットを表示するたびに呼び出されます。大量のトラフィックが発生すると、DB に大きな負荷がかかることが想像できます。

4

1 に答える 1

1

selectステートメントから取得したデータをキャッシュしてみることができます。

ただし、あなたが言ったようにそのデータを頻繁に更新しようとすると役に立ちません。

DBにアクセスせずに一時変数の選択クエリ結果を取得し、その値をx秒ごとに更新します

最初に、この間隔でデータベースを呼び出している回数が、現在アクセスされている回数よりも少ないことを確認する必要があります.x秒間隔の後に一時テーブルを更新するには、x秒ごとにデータベースに接続する必要があることを意味します。現在データベースにアクセスするオーバーヘッド。これにより、現在の状況がさらに悪化する可能性があります。

ここでキャッシュに関するいくつかの基本/クイックスタートを見つけることができ、グーグルがあなたを助けるかもしれません.

于 2013-03-02T15:48:51.387 に答える